/*
 * Copyright 2018 JDCLOUD.COM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http:#www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * 京东云IP高防相关接口
 * 京东云IP高防相关接口
 *
 * OpenAPI spec version: v1
 * Contact: 
 *
 * NOTE: This class is auto generated by the jdcloud code generator program.
 */


using JDCloudSDK.Core.Auth;
using JDCloudSDK.Core.Client;
using JDCloudSDK.Core.Http;
using JDCloudSDK.Ipanti.Apis;
using JDCloudSDK.Ipanti.Model;
using System;
using System.Collections.Generic;
using System.Text;
#if NET40||NET35
#else
using System.Threading.Tasks;
#endif

namespace JDCloudSDK.Ipanti.Client
{
    /// <summary>
    ///  京东云IP高防相关接口
    ///  京东云IP高防相关接口
    ///  Ipanti Api 客户端
    ///</summary>
    public class IpantiClient : JdcloudClient
    {

        /// <summary>
        ///  默认私有构造函数
        /// </summary>
        private IpantiClient()
        {

        }

        /// <summary>
        /// 默认构造函数
        /// </summary>
        /// <param name="credentialsProvider">认证信息</param>
        /// <param name="httpRequestConfig">http 客户端配置信息</param>
        /// <param name="environment">sdk 环境配置信息</param>
        public IpantiClient(CredentialsProvider credentialsProvider, HttpRequestConfig httpRequestConfig,SDKEnvironment environment)
        {
            this.httpRequestConfig = httpRequestConfig;
            this.credentialsProvider = credentialsProvider;
            this.environment = environment;
        }

        /// <summary>
        /// 默认构造函数
        /// </summary>
        /// <param name="httpRequestConfig">http 客户端配置信息</param>
        /// <param name="credentialsProvider">认证信息</param>
        public IpantiClient(CredentialsProvider credentialsProvider,HttpRequestConfig httpRequestConfig)
        {
            this.httpRequestConfig = httpRequestConfig;
            this.credentialsProvider = credentialsProvider;
        }

        /// <summary>
        /// 默认构造函数，
        /// 注意如果使用此方法 httpRequestConfig 使用的http 请求 schema 为Https
        /// </summary>
        /// <param name="credentialsProvider">认证信息</param>
        public IpantiClient(CredentialsProvider credentialsProvider)
        {
            this.credentialsProvider = credentialsProvider;
        }

        /// <summary>
        ///  版本号 1.2.8
        ///</summary>
        public const string ClientVersion = "1.2.8";

        private const string apiVersion = "v1";
        private const string userAgentPrefix = "JdcloudSdkDotNet";
        private const string defaultEndpoint = "ipanti.jdcloud-api.com";
        private const string serviceName = "ipanti";
        private const string userAgent = userAgentPrefix + "/" + ClientVersion + " " + serviceName + "/" + apiVersion;


        private SDKEnvironment environment = new SDKEnvironment(defaultEndpoint);
        private CredentialsProvider credentialsProvider;
        private HttpRequestConfig httpRequestConfig;

        /// <summary>
        ///  获取证书信息
        ///</summary>
        public override CredentialsProvider CredentialsProvider   { get { return credentialsProvider; } }

        /// <summary>
        ///  获取http 客户端配置信息
        ///</summary>
        public override HttpRequestConfig HttpRequestConfig { get { return httpRequestConfig; } }

        /// <summary>
        ///  获取sdk环境配置信息
        ///</summary>
        public override SDKEnvironment SDKEnvironment { get { return environment; } }

        /// <summary>
        ///  获取用户自定义浏览器识别字符串
        ///</summary>
        public override string UserAgent { get { return userAgent; } }

        /// <summary>
        ///  获取服务名称
        ///</summary>
        public override string ServiceName { get { return serviceName; } }

        /// <summary>
        ///  获取版本号
        ///</summary>
        public override string Version { get { return apiVersion; } }



#if NET40||NET35
        /// <summary>
        ///  高防返回客户端状态码报表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeStatusGraphResponse DescribeStatusGraph(DescribeStatusGraphRequest request) {
            return  new DescribeStatusGraphExecutor().Client(this).Execute<DescribeStatusGraphResponse, DescribeStatusGraphResult, DescribeStatusGraphRequest>(request);
        }
#else
        /// <summary>
        ///  高防返回客户端状态码报表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeStatusGraphResponse> DescribeStatusGraph(DescribeStatusGraphRequest request) {
            return await new DescribeStatusGraphExecutor().Client(this).Execute<DescribeStatusGraphResponse, DescribeStatusGraphResult, DescribeStatusGraphRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  更新实例弹性防护带宽
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyEPBResponse ModifyEPB(ModifyEPBRequest request) {
            return  new ModifyEPBExecutor().Client(this).Execute<ModifyEPBResponse, ModifyEPBResult, ModifyEPBRequest>(request);
        }
#else
        /// <summary>
        ///  更新实例弹性防护带宽
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyEPBResponse> ModifyEPB(ModifyEPBRequest request) {
            return await new ModifyEPBExecutor().Client(this).Execute<ModifyEPBResponse, ModifyEPBResult, ModifyEPBRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  批量添加网站类规则允许插入JS指纹的页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateJsPagesOfWebRuleResponse CreateJsPagesOfWebRule(CreateJsPagesOfWebRuleRequest request) {
            return  new CreateJsPagesOfWebRuleExecutor().Client(this).Execute<CreateJsPagesOfWebRuleResponse, CreateJsPagesOfWebRuleResult, CreateJsPagesOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  批量添加网站类规则允许插入JS指纹的页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateJsPagesOfWebRuleResponse> CreateJsPagesOfWebRule(CreateJsPagesOfWebRuleRequest request) {
            return await new CreateJsPagesOfWebRuleExecutor().Client(this).Execute<CreateJsPagesOfWebRuleResponse, CreateJsPagesOfWebRuleResult, CreateJsPagesOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  删除自定义页面, 使用中的不允许删除
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DeleteCustomPageResponse DeleteCustomPage(DeleteCustomPageRequest request) {
            return  new DeleteCustomPageExecutor().Client(this).Execute<DeleteCustomPageResponse, DeleteCustomPageResult, DeleteCustomPageRequest>(request);
        }
#else
        /// <summary>
        ///  删除自定义页面, 使用中的不允许删除
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DeleteCustomPageResponse> DeleteCustomPage(DeleteCustomPageRequest request) {
            return await new DeleteCustomPageExecutor().Client(this).Execute<DeleteCustomPageResponse, DeleteCustomPageResult, DeleteCustomPageRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  更新防护调度规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyDispatchRuleResponse ModifyDispatchRule(ModifyDispatchRuleRequest request) {
            return  new ModifyDispatchRuleExecutor().Client(this).Execute<ModifyDispatchRuleResponse, ModifyDispatchRuleResult, ModifyDispatchRuleRequest>(request);
        }
#else
        /// <summary>
        ///  更新防护调度规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyDispatchRuleResponse> ModifyDispatchRule(ModifyDispatchRuleRequest request) {
            return await new ModifyDispatchRuleExecutor().Client(this).Execute<ModifyDispatchRuleResponse, ModifyDispatchRuleResult, ModifyDispatchRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  实例全局访问控制配置可以恢复到上一次下发成功的配置时，调用此接口回滚到上一次下发成功的配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public RecoverInstanceAclResponse RecoverInstanceAcl(RecoverInstanceAclRequest request) {
            return  new RecoverInstanceAclExecutor().Client(this).Execute<RecoverInstanceAclResponse, RecoverInstanceAclResult, RecoverInstanceAclRequest>(request);
        }
#else
        /// <summary>
        ///  实例全局访问控制配置可以恢复到上一次下发成功的配置时，调用此接口回滚到上一次下发成功的配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<RecoverInstanceAclResponse> RecoverInstanceAcl(RecoverInstanceAclRequest request) {
            return await new RecoverInstanceAclExecutor().Client(this).Execute<RecoverInstanceAclResponse, RecoverInstanceAclResult, RecoverInstanceAclRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyWebRuleResponse ModifyWebRule(ModifyWebRuleRequest request) {
            return  new ModifyWebRuleExecutor().Client(this).Execute<ModifyWebRuleResponse, ModifyWebRuleResult, ModifyWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  修改网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyWebRuleResponse> ModifyWebRule(ModifyWebRuleRequest request) {
            return await new ModifyWebRuleExecutor().Client(this).Execute<ModifyWebRuleResponse, ModifyWebRuleResult, ModifyWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  开启网站类规则的黑名单
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public EnableWebRuleBlackListResponse EnableWebRuleBlackList(EnableWebRuleBlackListRequest request) {
            return  new EnableWebRuleBlackListExecutor().Client(this).Execute<EnableWebRuleBlackListResponse, EnableWebRuleBlackListResult, EnableWebRuleBlackListRequest>(request);
        }
#else
        /// <summary>
        ///  开启网站类规则的黑名单
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<EnableWebRuleBlackListResponse> EnableWebRuleBlackList(EnableWebRuleBlackListRequest request) {
            return await new EnableWebRuleBlackListExecutor().Client(this).Execute<EnableWebRuleBlackListResponse, EnableWebRuleBlackListResult, EnableWebRuleBlackListRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询实例的 IP 黑白名单库列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeIpSetsResponse DescribeIpSets(DescribeIpSetsRequest request) {
            return  new DescribeIpSetsExecutor().Client(this).Execute<DescribeIpSetsResponse, DescribeIpSetsResult, DescribeIpSetsRequest>(request);
        }
#else
        /// <summary>
        ///  查询实例的 IP 黑白名单库列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeIpSetsResponse> DescribeIpSets(DescribeIpSetsRequest request) {
            return await new DescribeIpSetsExecutor().Client(this).Execute<DescribeIpSetsResponse, DescribeIpSetsResult, DescribeIpSetsRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  开启网站类规则的白名单规则, 批量操作时 webWhiteListRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public EnableWhiteListRuleOfWebRuleResponse EnableWhiteListRuleOfWebRule(EnableWhiteListRuleOfWebRuleRequest request) {
            return  new EnableWhiteListRuleOfWebRuleExecutor().Client(this).Execute<EnableWhiteListRuleOfWebRuleResponse, EnableWhiteListRuleOfWebRuleResult, EnableWhiteListRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  开启网站类规则的白名单规则, 批量操作时 webWhiteListRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<EnableWhiteListRuleOfWebRuleResponse> EnableWhiteListRuleOfWebRule(EnableWhiteListRuleOfWebRuleRequest request) {
            return await new EnableWhiteListRuleOfWebRuleExecutor().Client(this).Execute<EnableWhiteListRuleOfWebRuleResponse, EnableWhiteListRuleOfWebRuleResult, EnableWhiteListRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  删除网站类规则的白名单规则, 批量操作时 webWhiteListRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DeleteWhiteListRuleOfWebRuleResponse DeleteWhiteListRuleOfWebRule(DeleteWhiteListRuleOfWebRuleRequest request) {
            return  new DeleteWhiteListRuleOfWebRuleExecutor().Client(this).Execute<DeleteWhiteListRuleOfWebRuleResponse, DeleteWhiteListRuleOfWebRuleResult, DeleteWhiteListRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  删除网站类规则的白名单规则, 批量操作时 webWhiteListRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DeleteWhiteListRuleOfWebRuleResponse> DeleteWhiteListRuleOfWebRule(DeleteWhiteListRuleOfWebRuleRequest request) {
            return await new DeleteWhiteListRuleOfWebRuleExecutor().Client(this).Execute<DeleteWhiteListRuleOfWebRuleResponse, DeleteWhiteListRuleOfWebRuleResult, DeleteWhiteListRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  关闭网站类规则的白名单
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DisableWebRuleWhiteListResponse DisableWebRuleWhiteList(DisableWebRuleWhiteListRequest request) {
            return  new DisableWebRuleWhiteListExecutor().Client(this).Execute<DisableWebRuleWhiteListResponse, DisableWebRuleWhiteListResult, DisableWebRuleWhiteListRequest>(request);
        }
#else
        /// <summary>
        ///  关闭网站类规则的白名单
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DisableWebRuleWhiteListResponse> DisableWebRuleWhiteList(DisableWebRuleWhiteListRequest request) {
            return await new DisableWebRuleWhiteListExecutor().Client(this).Execute<DisableWebRuleWhiteListResponse, DisableWebRuleWhiteListResult, DisableWebRuleWhiteListRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询实例列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeInstancesResponse DescribeInstances(DescribeInstancesRequest request) {
            return  new DescribeInstancesExecutor().Client(this).Execute<DescribeInstancesResponse, DescribeInstancesResult, DescribeInstancesRequest>(request);
        }
#else
        /// <summary>
        ///  查询实例列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeInstancesResponse> DescribeInstances(DescribeInstancesRequest request) {
            return await new DescribeInstancesExecutor().Client(this).Execute<DescribeInstancesResponse, DescribeInstancesResult, DescribeInstancesRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  新购或升级高防实例
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateInstanceResponse CreateInstance(CreateInstanceRequest request) {
            return  new CreateInstanceExecutor().Client(this).Execute<CreateInstanceResponse, CreateInstanceResult, CreateInstanceRequest>(request);
        }
#else
        /// <summary>
        ///  新购或升级高防实例
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateInstanceResponse> CreateInstance(CreateInstanceRequest request) {
            return await new CreateInstanceExecutor().Client(this).Execute<CreateInstanceResponse, CreateInstanceResult, CreateInstanceRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询 CC 攻击日志详情.
        /// - 参数 attackId 优先级高于 instanceId, attackId 不为空时, 忽略 instanceId
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeCCAttackLogDetailsResponse DescribeCCAttackLogDetails(DescribeCCAttackLogDetailsRequest request) {
            return  new DescribeCCAttackLogDetailsExecutor().Client(this).Execute<DescribeCCAttackLogDetailsResponse, DescribeCCAttackLogDetailsResult, DescribeCCAttackLogDetailsRequest>(request);
        }
#else
        /// <summary>
        ///  查询 CC 攻击日志详情.
        /// - 参数 attackId 优先级高于 instanceId, attackId 不为空时, 忽略 instanceId
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeCCAttackLogDetailsResponse> DescribeCCAttackLogDetails(DescribeCCAttackLogDetailsRequest request) {
            return await new DescribeCCAttackLogDetailsExecutor().Client(this).Execute<DescribeCCAttackLogDetailsResponse, DescribeCCAttackLogDetailsResult, DescribeCCAttackLogDetailsRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  关闭网站类规则的 CC 防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DisableCCProtectionRuleOfWebRuleResponse DisableCCProtectionRuleOfWebRule(DisableCCProtectionRuleOfWebRuleRequest request) {
            return  new DisableCCProtectionRuleOfWebRuleExecutor().Client(this).Execute<DisableCCProtectionRuleOfWebRuleResponse, DisableCCProtectionRuleOfWebRuleResult, DisableCCProtectionRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  关闭网站类规则的 CC 防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DisableCCProtectionRuleOfWebRuleResponse> DisableCCProtectionRuleOfWebRule(DisableCCProtectionRuleOfWebRuleRequest request) {
            return await new DisableCCProtectionRuleOfWebRuleExecutor().Client(this).Execute<DisableCCProtectionRuleOfWebRuleResponse, DisableCCProtectionRuleOfWebRuleResult, DisableCCProtectionRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  批量添加非网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateForwardRulesResponse CreateForwardRules(CreateForwardRulesRequest request) {
            return  new CreateForwardRulesExecutor().Client(this).Execute<CreateForwardRulesResponse, CreateForwardRulesResult, CreateForwardRulesRequest>(request);
        }
#else
        /// <summary>
        ///  批量添加非网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateForwardRulesResponse> CreateForwardRules(CreateForwardRulesRequest request) {
            return await new CreateForwardRulesExecutor().Client(this).Execute<CreateForwardRulesResponse, CreateForwardRulesResult, CreateForwardRulesRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询 CC 攻击日志
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeCCAttackLogsResponse DescribeCCAttackLogs(DescribeCCAttackLogsRequest request) {
            return  new DescribeCCAttackLogsExecutor().Client(this).Execute<DescribeCCAttackLogsResponse, DescribeCCAttackLogsResult, DescribeCCAttackLogsRequest>(request);
        }
#else
        /// <summary>
        ///  查询 CC 攻击日志
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeCCAttackLogsResponse> DescribeCCAttackLogs(DescribeCCAttackLogsRequest request) {
            return await new DescribeCCAttackLogsExecutor().Client(this).Execute<DescribeCCAttackLogsResponse, DescribeCCAttackLogsResult, DescribeCCAttackLogsRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  删除网站规则的 CC 防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DeleteCCProtectionRuleOfWebRuleResponse DeleteCCProtectionRuleOfWebRule(DeleteCCProtectionRuleOfWebRuleRequest request) {
            return  new DeleteCCProtectionRuleOfWebRuleExecutor().Client(this).Execute<DeleteCCProtectionRuleOfWebRuleResponse, DeleteCCProtectionRuleOfWebRuleResult, DeleteCCProtectionRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  删除网站规则的 CC 防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DeleteCCProtectionRuleOfWebRuleResponse> DeleteCCProtectionRuleOfWebRule(DeleteCCProtectionRuleOfWebRuleRequest request) {
            return await new DeleteCCProtectionRuleOfWebRuleExecutor().Client(this).Execute<DeleteCCProtectionRuleOfWebRuleResponse, DeleteCCProtectionRuleOfWebRuleResult, DeleteCCProtectionRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  更新非网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyForwardRuleResponse ModifyForwardRule(ModifyForwardRuleRequest request) {
            return  new ModifyForwardRuleExecutor().Client(this).Execute<ModifyForwardRuleResponse, ModifyForwardRuleResult, ModifyForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  更新非网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyForwardRuleResponse> ModifyForwardRule(ModifyForwardRuleRequest request) {
            return await new ModifyForwardRuleExecutor().Client(this).Execute<ModifyForwardRuleResponse, ModifyForwardRuleResult, ModifyForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  关闭网站类规则 CC 观察者模式, 观察模式下, CC 防护只告警不防御。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DisableWebRuleCCObserverModeResponse DisableWebRuleCCObserverMode(DisableWebRuleCCObserverModeRequest request) {
            return  new DisableWebRuleCCObserverModeExecutor().Client(this).Execute<DisableWebRuleCCObserverModeResponse, DisableWebRuleCCObserverModeResult, DisableWebRuleCCObserverModeRequest>(request);
        }
#else
        /// <summary>
        ///  关闭网站类规则 CC 观察者模式, 观察模式下, CC 防护只告警不防御。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DisableWebRuleCCObserverModeResponse> DisableWebRuleCCObserverMode(DisableWebRuleCCObserverModeRequest request) {
            return await new DisableWebRuleCCObserverModeExecutor().Client(this).Execute<DisableWebRuleCCObserverModeResponse, DisableWebRuleCCObserverModeResult, DisableWebRuleCCObserverModeRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询某个实例下的网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeWebRulesResponse DescribeWebRules(DescribeWebRulesRequest request) {
            return  new DescribeWebRulesExecutor().Client(this).Execute<DescribeWebRulesResponse, DescribeWebRulesResult, DescribeWebRulesRequest>(request);
        }
#else
        /// <summary>
        ///  查询某个实例下的网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeWebRulesResponse> DescribeWebRules(DescribeWebRulesRequest request) {
            return await new DescribeWebRulesExecutor().Client(this).Execute<DescribeWebRulesResponse, DescribeWebRulesResult, DescribeWebRulesRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改实例页面错误状态码返回页面为为默认页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyInstanceCustomPageDefaultResponse ModifyInstanceCustomPageDefault(ModifyInstanceCustomPageDefaultRequest request) {
            return  new ModifyInstanceCustomPageDefaultExecutor().Client(this).Execute<ModifyInstanceCustomPageDefaultResponse, ModifyInstanceCustomPageDefaultResult, ModifyInstanceCustomPageDefaultRequest>(request);
        }
#else
        /// <summary>
        ///  修改实例页面错误状态码返回页面为为默认页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyInstanceCustomPageDefaultResponse> ModifyInstanceCustomPageDefault(ModifyInstanceCustomPageDefaultRequest request) {
            return await new ModifyInstanceCustomPageDefaultExecutor().Client(this).Execute<ModifyInstanceCustomPageDefaultResponse, ModifyInstanceCustomPageDefaultResult, ModifyInstanceCustomPageDefaultRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改网站类规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyBlackListRuleOfWebRuleResponse ModifyBlackListRuleOfWebRule(ModifyBlackListRuleOfWebRuleRequest request) {
            return  new ModifyBlackListRuleOfWebRuleExecutor().Client(this).Execute<ModifyBlackListRuleOfWebRuleResponse, ModifyBlackListRuleOfWebRuleResult, ModifyBlackListRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  修改网站类规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyBlackListRuleOfWebRuleResponse> ModifyBlackListRuleOfWebRule(ModifyBlackListRuleOfWebRuleRequest request) {
            return await new ModifyBlackListRuleOfWebRuleExecutor().Client(this).Execute<ModifyBlackListRuleOfWebRuleResponse, ModifyBlackListRuleOfWebRuleResult, ModifyBlackListRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  开启网站类规则的白名单
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public EnableWebRuleWhiteListResponse EnableWebRuleWhiteList(EnableWebRuleWhiteListRequest request) {
            return  new EnableWebRuleWhiteListExecutor().Client(this).Execute<EnableWebRuleWhiteListResponse, EnableWebRuleWhiteListResult, EnableWebRuleWhiteListRequest>(request);
        }
#else
        /// <summary>
        ///  开启网站类规则的白名单
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<EnableWebRuleWhiteListResponse> EnableWebRuleWhiteList(EnableWebRuleWhiteListRequest request) {
            return await new EnableWebRuleWhiteListExecutor().Client(this).Execute<EnableWebRuleWhiteListResponse, EnableWebRuleWhiteListResult, EnableWebRuleWhiteListRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询高防实例防护统计信息
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeProtectionStatisticsResponse DescribeProtectionStatistics(DescribeProtectionStatisticsRequest request) {
            return  new DescribeProtectionStatisticsExecutor().Client(this).Execute<DescribeProtectionStatisticsResponse, DescribeProtectionStatisticsResult, DescribeProtectionStatisticsRequest>(request);
        }
#else
        /// <summary>
        ///  查询高防实例防护统计信息
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeProtectionStatisticsResponse> DescribeProtectionStatistics(DescribeProtectionStatisticsRequest request) {
            return await new DescribeProtectionStatisticsExecutor().Client(this).Execute<DescribeProtectionStatisticsResponse, DescribeProtectionStatisticsResult, DescribeProtectionStatisticsRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询高防IP的 DDoS 攻击日志, 仅BGP实例返回的是IP级别的攻击记录, 非BGP实例返回的仍是实例级别的攻击记录(serviceIp 字段为空)
        /// 参数 serviceIp 优先级大于 instanceId.
        /// - 指定 serviceIp 参数时, 忽略 instanceId 参数, 查询 ip 相关攻击记录.
        /// - 未指定 serviceIp 时, 查询 instanceId 指定实例相关攻击记录.
        /// - serviceIp 和 instanceId 均未指定时, 查询用户所有攻击记录
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeDDoSIpAttackLogsResponse DescribeDDoSIpAttackLogs(DescribeDDoSIpAttackLogsRequest request) {
            return  new DescribeDDoSIpAttackLogsExecutor().Client(this).Execute<DescribeDDoSIpAttackLogsResponse, DescribeDDoSIpAttackLogsResult, DescribeDDoSIpAttackLogsRequest>(request);
        }
#else
        /// <summary>
        ///  查询高防IP的 DDoS 攻击日志, 仅BGP实例返回的是IP级别的攻击记录, 非BGP实例返回的仍是实例级别的攻击记录(serviceIp 字段为空)
        /// 参数 serviceIp 优先级大于 instanceId.
        /// - 指定 serviceIp 参数时, 忽略 instanceId 参数, 查询 ip 相关攻击记录.
        /// - 未指定 serviceIp 时, 查询 instanceId 指定实例相关攻击记录.
        /// - serviceIp 和 instanceId 均未指定时, 查询用户所有攻击记录
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeDDoSIpAttackLogsResponse> DescribeDDoSIpAttackLogs(DescribeDDoSIpAttackLogsRequest request) {
            return await new DescribeDDoSIpAttackLogsExecutor().Client(this).Execute<DescribeDDoSIpAttackLogsResponse, DescribeDDoSIpAttackLogsResult, DescribeDDoSIpAttackLogsRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类规则允许插入JS指纹的页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeJsPagesOfWebRuleResponse DescribeJsPagesOfWebRule(DescribeJsPagesOfWebRuleRequest request) {
            return  new DescribeJsPagesOfWebRuleExecutor().Client(this).Execute<DescribeJsPagesOfWebRuleResponse, DescribeJsPagesOfWebRuleResult, DescribeJsPagesOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类规则允许插入JS指纹的页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeJsPagesOfWebRuleResponse> DescribeJsPagesOfWebRule(DescribeJsPagesOfWebRuleRequest request) {
            return await new DescribeJsPagesOfWebRuleExecutor().Client(this).Execute<DescribeJsPagesOfWebRuleResponse, DescribeJsPagesOfWebRuleResult, DescribeJsPagesOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类转发规则 Geo 模式的白名单可设置区域编码
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeWebRuleWhiteListGeoAreasResponse DescribeWebRuleWhiteListGeoAreas(DescribeWebRuleWhiteListGeoAreasRequest request) {
            return  new DescribeWebRuleWhiteListGeoAreasExecutor().Client(this).Execute<DescribeWebRuleWhiteListGeoAreasResponse, DescribeWebRuleWhiteListGeoAreasResult, DescribeWebRuleWhiteListGeoAreasRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类转发规则 Geo 模式的白名单可设置区域编码
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeWebRuleWhiteListGeoAreasResponse> DescribeWebRuleWhiteListGeoAreas(DescribeWebRuleWhiteListGeoAreasRequest request) {
            return await new DescribeWebRuleWhiteListGeoAreasExecutor().Client(this).Execute<DescribeWebRuleWhiteListGeoAreasResponse, DescribeWebRuleWhiteListGeoAreasResult, DescribeWebRuleWhiteListGeoAreasRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改转发规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyBlackListRuleOfForwardRuleResponse ModifyBlackListRuleOfForwardRule(ModifyBlackListRuleOfForwardRuleRequest request) {
            return  new ModifyBlackListRuleOfForwardRuleExecutor().Client(this).Execute<ModifyBlackListRuleOfForwardRuleResponse, ModifyBlackListRuleOfForwardRuleResult, ModifyBlackListRuleOfForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  修改转发规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyBlackListRuleOfForwardRuleResponse> ModifyBlackListRuleOfForwardRule(ModifyBlackListRuleOfForwardRuleRequest request) {
            return await new ModifyBlackListRuleOfForwardRuleExecutor().Client(this).Execute<ModifyBlackListRuleOfForwardRuleResponse, ModifyBlackListRuleOfForwardRuleResult, ModifyBlackListRuleOfForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改网站类规则允许插入 JS 指纹的页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyJsPageOfWebRuleResponse ModifyJsPageOfWebRule(ModifyJsPageOfWebRuleRequest request) {
            return  new ModifyJsPageOfWebRuleExecutor().Client(this).Execute<ModifyJsPageOfWebRuleResponse, ModifyJsPageOfWebRuleResult, ModifyJsPageOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  修改网站类规则允许插入 JS 指纹的页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyJsPageOfWebRuleResponse> ModifyJsPageOfWebRule(ModifyJsPageOfWebRuleRequest request) {
            return await new ModifyJsPageOfWebRuleExecutor().Client(this).Execute<ModifyJsPageOfWebRuleResponse, ModifyJsPageOfWebRuleResult, ModifyJsPageOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  关闭网站类规则的黑名单
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DisableWebRuleBlackListResponse DisableWebRuleBlackList(DisableWebRuleBlackListRequest request) {
            return  new DisableWebRuleBlackListExecutor().Client(this).Execute<DisableWebRuleBlackListResponse, DisableWebRuleBlackListResult, DisableWebRuleBlackListRequest>(request);
        }
#else
        /// <summary>
        ///  关闭网站类规则的黑名单
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DisableWebRuleBlackListResponse> DisableWebRuleBlackList(DisableWebRuleBlackListRequest request) {
            return await new DisableWebRuleBlackListExecutor().Client(this).Execute<DisableWebRuleBlackListResponse, DisableWebRuleBlackListResult, DisableWebRuleBlackListRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  非网站类规则切换成防御状态。支持批量操作, 批量操作时 forwardRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public SwitchForwardRuleProtectResponse SwitchForwardRuleProtect(SwitchForwardRuleProtectRequest request) {
            return  new SwitchForwardRuleProtectExecutor().Client(this).Execute<SwitchForwardRuleProtectResponse, SwitchForwardRuleProtectResult, SwitchForwardRuleProtectRequest>(request);
        }
#else
        /// <summary>
        ///  非网站类规则切换成防御状态。支持批量操作, 批量操作时 forwardRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<SwitchForwardRuleProtectResponse> SwitchForwardRuleProtect(SwitchForwardRuleProtectRequest request) {
            return await new SwitchForwardRuleProtectExecutor().Client(this).Execute<SwitchForwardRuleProtectResponse, SwitchForwardRuleProtectResult, SwitchForwardRuleProtectRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类规则的 CC 防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeCCProtectionRuleOfWebRuleResponse DescribeCCProtectionRuleOfWebRule(DescribeCCProtectionRuleOfWebRuleRequest request) {
            return  new DescribeCCProtectionRuleOfWebRuleExecutor().Client(this).Execute<DescribeCCProtectionRuleOfWebRuleResponse, DescribeCCProtectionRuleOfWebRuleResult, DescribeCCProtectionRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类规则的 CC 防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeCCProtectionRuleOfWebRuleResponse> DescribeCCProtectionRuleOfWebRule(DescribeCCProtectionRuleOfWebRuleRequest request) {
            return await new DescribeCCProtectionRuleOfWebRuleExecutor().Client(this).Execute<DescribeCCProtectionRuleOfWebRuleResponse, DescribeCCProtectionRuleOfWebRuleResult, DescribeCCProtectionRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改实例全局访问控制配置，包括全局的IP黑白名单和geo拦截配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyInstanceAclResponse ModifyInstanceAcl(ModifyInstanceAclRequest request) {
            return  new ModifyInstanceAclExecutor().Client(this).Execute<ModifyInstanceAclResponse, ModifyInstanceAclResult, ModifyInstanceAclRequest>(request);
        }
#else
        /// <summary>
        ///  修改实例全局访问控制配置，包括全局的IP黑白名单和geo拦截配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyInstanceAclResponse> ModifyInstanceAcl(ModifyInstanceAclRequest request) {
            return await new ModifyInstanceAclExecutor().Client(this).Execute<ModifyInstanceAclResponse, ModifyInstanceAclResult, ModifyInstanceAclRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  插入JS指纹到所有页面, 需要打开网站类规则的JS指纹开关
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyWebRuleJsPageToAllResponse ModifyWebRuleJsPageToAll(ModifyWebRuleJsPageToAllRequest request) {
            return  new ModifyWebRuleJsPageToAllExecutor().Client(this).Execute<ModifyWebRuleJsPageToAllResponse, ModifyWebRuleJsPageToAllResult, ModifyWebRuleJsPageToAllRequest>(request);
        }
#else
        /// <summary>
        ///  插入JS指纹到所有页面, 需要打开网站类规则的JS指纹开关
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyWebRuleJsPageToAllResponse> ModifyWebRuleJsPageToAll(ModifyWebRuleJsPageToAllRequest request) {
            return await new ModifyWebRuleJsPageToAllExecutor().Client(this).Execute<ModifyWebRuleJsPageToAllResponse, ModifyWebRuleJsPageToAllResult, ModifyWebRuleJsPageToAllRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  网站类规则绑定 SSL 证书
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public BindCertResponse BindCert(BindCertRequest request) {
            return  new BindCertExecutor().Client(this).Execute<BindCertResponse, BindCertResult, BindCertRequest>(request);
        }
#else
        /// <summary>
        ///  网站类规则绑定 SSL 证书
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<BindCertResponse> BindCert(BindCertRequest request) {
            return await new BindCertExecutor().Client(this).Execute<BindCertResponse, BindCertResult, BindCertRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询用户可设置为网站类规则回源 IP 的京东云托管区公网 IP 资源
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeCcsIpListResponse DescribeCcsIpList(DescribeCcsIpListRequest request) {
            return  new DescribeCcsIpListExecutor().Client(this).Execute<DescribeCcsIpListResponse, DescribeCcsIpListResult, DescribeCcsIpListRequest>(request);
        }
#else
        /// <summary>
        ///  查询用户可设置为网站类规则回源 IP 的京东云托管区公网 IP 资源
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeCcsIpListResponse> DescribeCcsIpList(DescribeCcsIpListRequest request) {
            return await new DescribeCcsIpListExecutor().Client(this).Execute<DescribeCcsIpListResponse, DescribeCcsIpListResult, DescribeCcsIpListRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeWhiteListRuleOfWebRuleResponse DescribeWhiteListRuleOfWebRule(DescribeWhiteListRuleOfWebRuleRequest request) {
            return  new DescribeWhiteListRuleOfWebRuleExecutor().Client(this).Execute<DescribeWhiteListRuleOfWebRuleResponse, DescribeWhiteListRuleOfWebRuleResult, DescribeWhiteListRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeWhiteListRuleOfWebRuleResponse> DescribeWhiteListRuleOfWebRule(DescribeWhiteListRuleOfWebRuleRequest request) {
            return await new DescribeWhiteListRuleOfWebRuleExecutor().Client(this).Execute<DescribeWhiteListRuleOfWebRuleResponse, DescribeWhiteListRuleOfWebRuleResult, DescribeWhiteListRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  关闭实例错误状态码返回页面, 透传错误状态码
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DisableInstanceCustomPageResponse DisableInstanceCustomPage(DisableInstanceCustomPageRequest request) {
            return  new DisableInstanceCustomPageExecutor().Client(this).Execute<DisableInstanceCustomPageResponse, DisableInstanceCustomPageResult, DisableInstanceCustomPageRequest>(request);
        }
#else
        /// <summary>
        ///  关闭实例错误状态码返回页面, 透传错误状态码
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DisableInstanceCustomPageResponse> DisableInstanceCustomPage(DisableInstanceCustomPageRequest request) {
            return await new DisableInstanceCustomPageExecutor().Client(this).Execute<DisableInstanceCustomPageResponse, DisableInstanceCustomPageResult, DisableInstanceCustomPageRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeBlackListRuleOfWebRuleResponse DescribeBlackListRuleOfWebRule(DescribeBlackListRuleOfWebRuleRequest request) {
            return  new DescribeBlackListRuleOfWebRuleExecutor().Client(this).Execute<DescribeBlackListRuleOfWebRuleResponse, DescribeBlackListRuleOfWebRuleResult, DescribeBlackListRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeBlackListRuleOfWebRuleResponse> DescribeBlackListRuleOfWebRule(DescribeBlackListRuleOfWebRuleRequest request) {
            return await new DescribeBlackListRuleOfWebRuleExecutor().Client(this).Execute<DescribeBlackListRuleOfWebRuleResponse, DescribeBlackListRuleOfWebRuleResult, DescribeBlackListRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询攻击次数及流量峰值
        /// 参数 serviceIp 优先级大于 instanceId.
        /// - 指定 serviceIp 参数时, 忽略 instanceId 参数, 统计 ip 相关攻击
        /// - 未指定 serviceIp 时, 统计 instanceId 指定实例相关攻击
        /// - serviceIp 和 instanceId 均未指定时, 统计用户所有攻击记录
        /// CC攻击为实例级别, 查询类型 type 为 cc 时, 参数 serviceIp 无效
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeAttackStatisticsResponse DescribeAttackStatistics(DescribeAttackStatisticsRequest request) {
            return  new DescribeAttackStatisticsExecutor().Client(this).Execute<DescribeAttackStatisticsResponse, DescribeAttackStatisticsResult, DescribeAttackStatisticsRequest>(request);
        }
#else
        /// <summary>
        ///  查询攻击次数及流量峰值
        /// 参数 serviceIp 优先级大于 instanceId.
        /// - 指定 serviceIp 参数时, 忽略 instanceId 参数, 统计 ip 相关攻击
        /// - 未指定 serviceIp 时, 统计 instanceId 指定实例相关攻击
        /// - serviceIp 和 instanceId 均未指定时, 统计用户所有攻击记录
        /// CC攻击为实例级别, 查询类型 type 为 cc 时, 参数 serviceIp 无效
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeAttackStatisticsResponse> DescribeAttackStatistics(DescribeAttackStatisticsRequest request) {
            return await new DescribeAttackStatisticsExecutor().Client(this).Execute<DescribeAttackStatisticsResponse, DescribeAttackStatisticsResult, DescribeAttackStatisticsRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询 DDoS 攻击日志, 仅能查询非BGP实例的攻击记录, 同时查询BGP和非BGP实例请使用 &lt;a href&#x3D;&#39;http://docs.jdcloud.com/anti-ddos-pro/api/describeDDoSIpAttackLogs&#39;&gt;describeDDoSIpAttackLogs&lt;/a&gt;
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeDDoSAttackLogsResponse DescribeDDoSAttackLogs(DescribeDDoSAttackLogsRequest request) {
            return  new DescribeDDoSAttackLogsExecutor().Client(this).Execute<DescribeDDoSAttackLogsResponse, DescribeDDoSAttackLogsResult, DescribeDDoSAttackLogsRequest>(request);
        }
#else
        /// <summary>
        ///  查询 DDoS 攻击日志, 仅能查询非BGP实例的攻击记录, 同时查询BGP和非BGP实例请使用 &lt;a href&#x3D;&#39;http://docs.jdcloud.com/anti-ddos-pro/api/describeDDoSIpAttackLogs&#39;&gt;describeDDoSIpAttackLogs&lt;/a&gt;
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeDDoSAttackLogsResponse> DescribeDDoSAttackLogs(DescribeDDoSAttackLogsRequest request) {
            return await new DescribeDDoSAttackLogsExecutor().Client(this).Execute<DescribeDDoSAttackLogsResponse, DescribeDDoSAttackLogsResult, DescribeDDoSAttackLogsRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  关闭网站类规则的JS指纹开关
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DisableWebRuleJsPageResponse DisableWebRuleJsPage(DisableWebRuleJsPageRequest request) {
            return  new DisableWebRuleJsPageExecutor().Client(this).Execute<DisableWebRuleJsPageResponse, DisableWebRuleJsPageResult, DisableWebRuleJsPageRequest>(request);
        }
#else
        /// <summary>
        ///  关闭网站类规则的JS指纹开关
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DisableWebRuleJsPageResponse> DisableWebRuleJsPage(DisableWebRuleJsPageRequest request) {
            return await new DisableWebRuleJsPageExecutor().Client(this).Execute<DisableWebRuleJsPageResponse, DisableWebRuleJsPageResult, DisableWebRuleJsPageRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询自定义页面列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeCustomPagesResponse DescribeCustomPages(DescribeCustomPagesRequest request) {
            return  new DescribeCustomPagesExecutor().Client(this).Execute<DescribeCustomPagesResponse, DescribeCustomPagesResult, DescribeCustomPagesRequest>(request);
        }
#else
        /// <summary>
        ///  查询自定义页面列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeCustomPagesResponse> DescribeCustomPages(DescribeCustomPagesRequest request) {
            return await new DescribeCustomPagesExecutor().Client(this).Execute<DescribeCustomPagesResponse, DescribeCustomPagesResult, DescribeCustomPagesRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  开启转发规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public EnableWhiteListRuleOfForwardRuleResponse EnableWhiteListRuleOfForwardRule(EnableWhiteListRuleOfForwardRuleRequest request) {
            return  new EnableWhiteListRuleOfForwardRuleExecutor().Client(this).Execute<EnableWhiteListRuleOfForwardRuleResponse, EnableWhiteListRuleOfForwardRuleResult, EnableWhiteListRuleOfForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  开启转发规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<EnableWhiteListRuleOfForwardRuleResponse> EnableWhiteListRuleOfForwardRule(EnableWhiteListRuleOfForwardRuleRequest request) {
            return await new EnableWhiteListRuleOfForwardRuleExecutor().Client(this).Execute<EnableWhiteListRuleOfForwardRuleResponse, EnableWhiteListRuleOfForwardRuleResult, EnableWhiteListRuleOfForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  防护调度规则切换成防御状态
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public SwitchDispatchRuleProtectResponse SwitchDispatchRuleProtect(SwitchDispatchRuleProtectRequest request) {
            return  new SwitchDispatchRuleProtectExecutor().Client(this).Execute<SwitchDispatchRuleProtectResponse, SwitchDispatchRuleProtectResult, SwitchDispatchRuleProtectRequest>(request);
        }
#else
        /// <summary>
        ///  防护调度规则切换成防御状态
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<SwitchDispatchRuleProtectResponse> SwitchDispatchRuleProtect(SwitchDispatchRuleProtectRequest request) {
            return await new SwitchDispatchRuleProtectExecutor().Client(this).Execute<SwitchDispatchRuleProtectResponse, SwitchDispatchRuleProtectResult, SwitchDispatchRuleProtectRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询实例高防 IP 列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeServiceIpListResponse DescribeServiceIpList(DescribeServiceIpListRequest request) {
            return  new DescribeServiceIpListExecutor().Client(this).Execute<DescribeServiceIpListResponse, DescribeServiceIpListResult, DescribeServiceIpListRequest>(request);
        }
#else
        /// <summary>
        ///  查询实例高防 IP 列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeServiceIpListResponse> DescribeServiceIpList(DescribeServiceIpListRequest request) {
            return await new DescribeServiceIpListExecutor().Client(this).Execute<DescribeServiceIpListResponse, DescribeServiceIpListResult, DescribeServiceIpListRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  关闭网站类规则的白名单规则, 批量操作时 webWhiteListRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DisableWhiteListRuleOfWebRuleResponse DisableWhiteListRuleOfWebRule(DisableWhiteListRuleOfWebRuleRequest request) {
            return  new DisableWhiteListRuleOfWebRuleExecutor().Client(this).Execute<DisableWhiteListRuleOfWebRuleResponse, DisableWhiteListRuleOfWebRuleResult, DisableWhiteListRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  关闭网站类规则的白名单规则, 批量操作时 webWhiteListRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DisableWhiteListRuleOfWebRuleResponse> DisableWhiteListRuleOfWebRule(DisableWhiteListRuleOfWebRuleRequest request) {
            return await new DisableWhiteListRuleOfWebRuleExecutor().Client(this).Execute<DisableWhiteListRuleOfWebRuleResponse, DisableWhiteListRuleOfWebRuleResult, DisableWhiteListRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询高防实例防护概要
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeProtectionOutlineResponse DescribeProtectionOutline(DescribeProtectionOutlineRequest request) {
            return  new DescribeProtectionOutlineExecutor().Client(this).Execute<DescribeProtectionOutlineResponse, DescribeProtectionOutlineResult, DescribeProtectionOutlineRequest>(request);
        }
#else
        /// <summary>
        ///  查询高防实例防护概要
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeProtectionOutlineResponse> DescribeProtectionOutline(DescribeProtectionOutlineRequest request) {
            return await new DescribeProtectionOutlineExecutor().Client(this).Execute<DescribeProtectionOutlineResponse, DescribeProtectionOutlineResult, DescribeProtectionOutlineRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  删除防护调度规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DeleteDispatchRuleResponse DeleteDispatchRule(DeleteDispatchRuleRequest request) {
            return  new DeleteDispatchRuleExecutor().Client(this).Execute<DeleteDispatchRuleResponse, DeleteDispatchRuleResult, DeleteDispatchRuleRequest>(request);
        }
#else
        /// <summary>
        ///  删除防护调度规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DeleteDispatchRuleResponse> DeleteDispatchRule(DeleteDispatchRuleRequest request) {
            return await new DeleteDispatchRuleExecutor().Client(this).Execute<DeleteDispatchRuleResponse, DeleteDispatchRuleResult, DeleteDispatchRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  添加网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateWebRuleResponse CreateWebRule(CreateWebRuleRequest request) {
            return  new CreateWebRuleExecutor().Client(this).Execute<CreateWebRuleResponse, CreateWebRuleResult, CreateWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  添加网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateWebRuleResponse> CreateWebRule(CreateWebRuleRequest request) {
            return await new CreateWebRuleExecutor().Client(this).Execute<CreateWebRuleResponse, CreateWebRuleResult, CreateWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类规则的 CC 防护配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeCCProtectionConfigOfWebRuleResponse DescribeCCProtectionConfigOfWebRule(DescribeCCProtectionConfigOfWebRuleRequest request) {
            return  new DescribeCCProtectionConfigOfWebRuleExecutor().Client(this).Execute<DescribeCCProtectionConfigOfWebRuleResponse, DescribeCCProtectionConfigOfWebRuleResult, DescribeCCProtectionConfigOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类规则的 CC 防护配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeCCProtectionConfigOfWebRuleResponse> DescribeCCProtectionConfigOfWebRule(DescribeCCProtectionConfigOfWebRuleRequest request) {
            return await new DescribeCCProtectionConfigOfWebRuleExecutor().Client(this).Execute<DescribeCCProtectionConfigOfWebRuleResponse, DescribeCCProtectionConfigOfWebRuleResult, DescribeCCProtectionConfigOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  关闭网站类规则 CC 防护, 网站类规则的 CC 防护规则和 CC 防护配置失效。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DisableWebRuleCCResponse DisableWebRuleCC(DisableWebRuleCCRequest request) {
            return  new DisableWebRuleCCExecutor().Client(this).Execute<DisableWebRuleCCResponse, DisableWebRuleCCResult, DisableWebRuleCCRequest>(request);
        }
#else
        /// <summary>
        ///  关闭网站类规则 CC 防护, 网站类规则的 CC 防护规则和 CC 防护配置失效。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DisableWebRuleCCResponse> DisableWebRuleCC(DisableWebRuleCCRequest request) {
            return await new DisableWebRuleCCExecutor().Client(this).Execute<DisableWebRuleCCResponse, DisableWebRuleCCResult, DisableWebRuleCCRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  添加网站类规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateWhiteListRuleOfWebRuleResponse CreateWhiteListRuleOfWebRule(CreateWhiteListRuleOfWebRuleRequest request) {
            return  new CreateWhiteListRuleOfWebRuleExecutor().Client(this).Execute<CreateWhiteListRuleOfWebRuleResponse, CreateWhiteListRuleOfWebRuleResult, CreateWhiteListRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  添加网站类规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateWhiteListRuleOfWebRuleResponse> CreateWhiteListRuleOfWebRule(CreateWhiteListRuleOfWebRuleRequest request) {
            return await new CreateWhiteListRuleOfWebRuleExecutor().Client(this).Execute<CreateWhiteListRuleOfWebRuleResponse, CreateWhiteListRuleOfWebRuleResult, CreateWhiteListRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  检测实例名称是否合法
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CheckNameResponse CheckName(CheckNameRequest request) {
            return  new CheckNameExecutor().Client(this).Execute<CheckNameResponse, CheckNameResult, CheckNameRequest>(request);
        }
#else
        /// <summary>
        ///  检测实例名称是否合法
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CheckNameResponse> CheckName(CheckNameRequest request) {
            return await new CheckNameExecutor().Client(this).Execute<CheckNameResponse, CheckNameResult, CheckNameRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  关闭网站类规则的自定义 CC 防护规则总开关, 所有自定义 CC 防护规则失效
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DisableWebRuleCCProtectionRuleResponse DisableWebRuleCCProtectionRule(DisableWebRuleCCProtectionRuleRequest request) {
            return  new DisableWebRuleCCProtectionRuleExecutor().Client(this).Execute<DisableWebRuleCCProtectionRuleResponse, DisableWebRuleCCProtectionRuleResult, DisableWebRuleCCProtectionRuleRequest>(request);
        }
#else
        /// <summary>
        ///  关闭网站类规则的自定义 CC 防护规则总开关, 所有自定义 CC 防护规则失效
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DisableWebRuleCCProtectionRuleResponse> DisableWebRuleCCProtectionRule(DisableWebRuleCCProtectionRuleRequest request) {
            return await new DisableWebRuleCCProtectionRuleExecutor().Client(this).Execute<DisableWebRuleCCProtectionRuleResponse, DisableWebRuleCCProtectionRuleResult, DisableWebRuleCCProtectionRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询实例的 IP 黑白名单用量信息
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeIpSetUsageResponse DescribeIpSetUsage(DescribeIpSetUsageRequest request) {
            return  new DescribeIpSetUsageExecutor().Client(this).Execute<DescribeIpSetUsageResponse, DescribeIpSetUsageResult, DescribeIpSetUsageRequest>(request);
        }
#else
        /// <summary>
        ///  查询实例的 IP 黑白名单用量信息
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeIpSetUsageResponse> DescribeIpSetUsage(DescribeIpSetUsageRequest request) {
            return await new DescribeIpSetUsageExecutor().Client(this).Execute<DescribeIpSetUsageResponse, DescribeIpSetUsageResult, DescribeIpSetUsageRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  添加自定义页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateCustomPageResponse CreateCustomPage(CreateCustomPageRequest request) {
            return  new CreateCustomPageExecutor().Client(this).Execute<CreateCustomPageResponse, CreateCustomPageResult, CreateCustomPageRequest>(request);
        }
#else
        /// <summary>
        ///  添加自定义页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateCustomPageResponse> CreateCustomPage(CreateCustomPageRequest request) {
            return await new CreateCustomPageExecutor().Client(this).Execute<CreateCustomPageResponse, CreateCustomPageResult, CreateCustomPageRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  关闭转发规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DisableWhiteListRuleOfForwardRuleResponse DisableWhiteListRuleOfForwardRule(DisableWhiteListRuleOfForwardRuleRequest request) {
            return  new DisableWhiteListRuleOfForwardRuleExecutor().Client(this).Execute<DisableWhiteListRuleOfForwardRuleResponse, DisableWhiteListRuleOfForwardRuleResult, DisableWhiteListRuleOfForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  关闭转发规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DisableWhiteListRuleOfForwardRuleResponse> DisableWhiteListRuleOfForwardRule(DisableWhiteListRuleOfForwardRuleRequest request) {
            return await new DisableWhiteListRuleOfForwardRuleExecutor().Client(this).Execute<DisableWhiteListRuleOfForwardRuleResponse, DisableWhiteListRuleOfForwardRuleResult, DisableWhiteListRuleOfForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  开启网站类规则的 CC 防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public EnableCCProtectionRuleOfWebRuleResponse EnableCCProtectionRuleOfWebRule(EnableCCProtectionRuleOfWebRuleRequest request) {
            return  new EnableCCProtectionRuleOfWebRuleExecutor().Client(this).Execute<EnableCCProtectionRuleOfWebRuleResponse, EnableCCProtectionRuleOfWebRuleResult, EnableCCProtectionRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  开启网站类规则的 CC 防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<EnableCCProtectionRuleOfWebRuleResponse> EnableCCProtectionRuleOfWebRule(EnableCCProtectionRuleOfWebRuleRequest request) {
            return await new EnableCCProtectionRuleOfWebRuleExecutor().Client(this).Execute<EnableCCProtectionRuleOfWebRuleResponse, EnableCCProtectionRuleOfWebRuleResult, EnableCCProtectionRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeWebRuleResponse DescribeWebRule(DescribeWebRuleRequest request) {
            return  new DescribeWebRuleExecutor().Client(this).Execute<DescribeWebRuleResponse, DescribeWebRuleResult, DescribeWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeWebRuleResponse> DescribeWebRule(DescribeWebRuleRequest request) {
            return await new DescribeWebRuleExecutor().Client(this).Execute<DescribeWebRuleResponse, DescribeWebRuleResult, DescribeWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类转发规则 Geo 模式的黑名单可设置区域编码
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeWebRuleBlackListGeoAreasResponse DescribeWebRuleBlackListGeoAreas(DescribeWebRuleBlackListGeoAreasRequest request) {
            return  new DescribeWebRuleBlackListGeoAreasExecutor().Client(this).Execute<DescribeWebRuleBlackListGeoAreasResponse, DescribeWebRuleBlackListGeoAreasResult, DescribeWebRuleBlackListGeoAreasRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类转发规则 Geo 模式的黑名单可设置区域编码
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeWebRuleBlackListGeoAreasResponse> DescribeWebRuleBlackListGeoAreas(DescribeWebRuleBlackListGeoAreasRequest request) {
            return await new DescribeWebRuleBlackListGeoAreasExecutor().Client(this).Execute<DescribeWebRuleBlackListGeoAreasResponse, DescribeWebRuleBlackListGeoAreasResult, DescribeWebRuleBlackListGeoAreasRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改实例名称
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyInstanceNameResponse ModifyInstanceName(ModifyInstanceNameRequest request) {
            return  new ModifyInstanceNameExecutor().Client(this).Execute<ModifyInstanceNameResponse, ModifyInstanceNameResult, ModifyInstanceNameRequest>(request);
        }
#else
        /// <summary>
        ///  修改实例名称
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyInstanceNameResponse> ModifyInstanceName(ModifyInstanceNameRequest request) {
            return await new ModifyInstanceNameExecutor().Client(this).Execute<ModifyInstanceNameResponse, ModifyInstanceNameResult, ModifyInstanceNameRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询非网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeForwardRuleResponse DescribeForwardRule(DescribeForwardRuleRequest request) {
            return  new DescribeForwardRuleExecutor().Client(this).Execute<DescribeForwardRuleResponse, DescribeForwardRuleResult, DescribeForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询非网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeForwardRuleResponse> DescribeForwardRule(DescribeForwardRuleRequest request) {
            return await new DescribeForwardRuleExecutor().Client(this).Execute<DescribeForwardRuleResponse, DescribeForwardRuleResult, DescribeForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询转发规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeWhiteListRuleOfForwardRuleResponse DescribeWhiteListRuleOfForwardRule(DescribeWhiteListRuleOfForwardRuleRequest request) {
            return  new DescribeWhiteListRuleOfForwardRuleExecutor().Client(this).Execute<DescribeWhiteListRuleOfForwardRuleResponse, DescribeWhiteListRuleOfForwardRuleResult, DescribeWhiteListRuleOfForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询转发规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeWhiteListRuleOfForwardRuleResponse> DescribeWhiteListRuleOfForwardRule(DescribeWhiteListRuleOfForwardRuleRequest request) {
            return await new DescribeWhiteListRuleOfForwardRuleExecutor().Client(this).Execute<DescribeWhiteListRuleOfForwardRuleResponse, DescribeWhiteListRuleOfForwardRuleResult, DescribeWhiteListRuleOfForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  CC 防护流量报表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeCCGraphResponse DescribeCCGraph(DescribeCCGraphRequest request) {
            return  new DescribeCCGraphExecutor().Client(this).Execute<DescribeCCGraphResponse, DescribeCCGraphResult, DescribeCCGraphRequest>(request);
        }
#else
        /// <summary>
        ///  CC 防护流量报表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeCCGraphResponse> DescribeCCGraph(DescribeCCGraphRequest request) {
            return await new DescribeCCGraphExecutor().Client(this).Execute<DescribeCCGraphResponse, DescribeCCGraphResult, DescribeCCGraphRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询实例
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeInstanceResponse DescribeInstance(DescribeInstanceRequest request) {
            return  new DescribeInstanceExecutor().Client(this).Execute<DescribeInstanceResponse, DescribeInstanceResult, DescribeInstanceRequest>(request);
        }
#else
        /// <summary>
        ///  查询实例
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeInstanceResponse> DescribeInstance(DescribeInstanceRequest request) {
            return await new DescribeInstanceExecutor().Client(this).Execute<DescribeInstanceResponse, DescribeInstanceResult, DescribeInstanceRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  开启转发规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public EnableBlackListRuleOfForwardRuleResponse EnableBlackListRuleOfForwardRule(EnableBlackListRuleOfForwardRuleRequest request) {
            return  new EnableBlackListRuleOfForwardRuleExecutor().Client(this).Execute<EnableBlackListRuleOfForwardRuleResponse, EnableBlackListRuleOfForwardRuleResult, EnableBlackListRuleOfForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  开启转发规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<EnableBlackListRuleOfForwardRuleResponse> EnableBlackListRuleOfForwardRule(EnableBlackListRuleOfForwardRuleRequest request) {
            return await new EnableBlackListRuleOfForwardRuleExecutor().Client(this).Execute<EnableBlackListRuleOfForwardRuleResponse, EnableBlackListRuleOfForwardRuleResult, EnableBlackListRuleOfForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询告警配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeAlarmConfigResponse DescribeAlarmConfig(DescribeAlarmConfigRequest request) {
            return  new DescribeAlarmConfigExecutor().Client(this).Execute<DescribeAlarmConfigResponse, DescribeAlarmConfigResult, DescribeAlarmConfigRequest>(request);
        }
#else
        /// <summary>
        ///  查询告警配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeAlarmConfigResponse> DescribeAlarmConfig(DescribeAlarmConfigRequest request) {
            return await new DescribeAlarmConfigExecutor().Client(this).Execute<DescribeAlarmConfigResponse, DescribeAlarmConfigResult, DescribeAlarmConfigRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  添加实例的 IP 黑白名单, 预定义的 IP 黑白名单绑定到转发规则的黑名单或白名单后生效
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateIpSetResponse CreateIpSet(CreateIpSetRequest request) {
            return  new CreateIpSetExecutor().Client(this).Execute<CreateIpSetResponse, CreateIpSetResult, CreateIpSetRequest>(request);
        }
#else
        /// <summary>
        ///  添加实例的 IP 黑白名单, 预定义的 IP 黑白名单绑定到转发规则的黑名单或白名单后生效
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateIpSetResponse> CreateIpSet(CreateIpSetRequest request) {
            return await new CreateIpSetExecutor().Client(this).Execute<CreateIpSetResponse, CreateIpSetResult, CreateIpSetRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询非网站类转发规则的防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeProtectionRuleOfForwardRuleResponse DescribeProtectionRuleOfForwardRule(DescribeProtectionRuleOfForwardRuleRequest request) {
            return  new DescribeProtectionRuleOfForwardRuleExecutor().Client(this).Execute<DescribeProtectionRuleOfForwardRuleResponse, DescribeProtectionRuleOfForwardRuleResult, DescribeProtectionRuleOfForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询非网站类转发规则的防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeProtectionRuleOfForwardRuleResponse> DescribeProtectionRuleOfForwardRule(DescribeProtectionRuleOfForwardRuleRequest request) {
            return await new DescribeProtectionRuleOfForwardRuleExecutor().Client(this).Execute<DescribeProtectionRuleOfForwardRuleResponse, DescribeProtectionRuleOfForwardRuleResult, DescribeProtectionRuleOfForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类防护规则的黑名单用量信息
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeWebRuleBlackListUsageResponse DescribeWebRuleBlackListUsage(DescribeWebRuleBlackListUsageRequest request) {
            return  new DescribeWebRuleBlackListUsageExecutor().Client(this).Execute<DescribeWebRuleBlackListUsageResponse, DescribeWebRuleBlackListUsageResult, DescribeWebRuleBlackListUsageRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类防护规则的黑名单用量信息
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeWebRuleBlackListUsageResponse> DescribeWebRuleBlackListUsage(DescribeWebRuleBlackListUsageRequest request) {
            return await new DescribeWebRuleBlackListUsageExecutor().Client(this).Execute<DescribeWebRuleBlackListUsageResponse, DescribeWebRuleBlackListUsageResult, DescribeWebRuleBlackListUsageRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  添加网站类规则的 CC 防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateCCProtectionRuleOfWebRuleResponse CreateCCProtectionRuleOfWebRule(CreateCCProtectionRuleOfWebRuleRequest request) {
            return  new CreateCCProtectionRuleOfWebRuleExecutor().Client(this).Execute<CreateCCProtectionRuleOfWebRuleResponse, CreateCCProtectionRuleOfWebRuleResult, CreateCCProtectionRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  添加网站类规则的 CC 防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateCCProtectionRuleOfWebRuleResponse> CreateCCProtectionRuleOfWebRule(CreateCCProtectionRuleOfWebRuleRequest request) {
            return await new CreateCCProtectionRuleOfWebRuleExecutor().Client(this).Execute<CreateCCProtectionRuleOfWebRuleResponse, CreateCCProtectionRuleOfWebRuleResult, CreateCCProtectionRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  删除网站类规则允许插入 JS 指纹的页面。支持批量操作, 批量操作时 jsPageId 传多个, 以 &#39;,&#39; 分隔
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DeleteJsPageOfWebRuleResponse DeleteJsPageOfWebRule(DeleteJsPageOfWebRuleRequest request) {
            return  new DeleteJsPageOfWebRuleExecutor().Client(this).Execute<DeleteJsPageOfWebRuleResponse, DeleteJsPageOfWebRuleResult, DeleteJsPageOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  删除网站类规则允许插入 JS 指纹的页面。支持批量操作, 批量操作时 jsPageId 传多个, 以 &#39;,&#39; 分隔
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DeleteJsPageOfWebRuleResponse> DeleteJsPageOfWebRule(DeleteJsPageOfWebRuleRequest request) {
            return await new DeleteJsPageOfWebRuleExecutor().Client(this).Execute<DeleteJsPageOfWebRuleResponse, DeleteJsPageOfWebRuleResult, DeleteJsPageOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类规则的 CC 防护默认配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeCCProtectionDefaultConfigOfWebRuleResponse DescribeCCProtectionDefaultConfigOfWebRule(DescribeCCProtectionDefaultConfigOfWebRuleRequest request) {
            return  new DescribeCCProtectionDefaultConfigOfWebRuleExecutor().Client(this).Execute<DescribeCCProtectionDefaultConfigOfWebRuleResponse, DescribeCCProtectionDefaultConfigOfWebRuleResult, DescribeCCProtectionDefaultConfigOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类规则的 CC 防护默认配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeCCProtectionDefaultConfigOfWebRuleResponse> DescribeCCProtectionDefaultConfigOfWebRule(DescribeCCProtectionDefaultConfigOfWebRuleRequest request) {
            return await new DescribeCCProtectionDefaultConfigOfWebRuleExecutor().Client(this).Execute<DescribeCCProtectionDefaultConfigOfWebRuleResponse, DescribeCCProtectionDefaultConfigOfWebRuleResult, DescribeCCProtectionDefaultConfigOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改网站类规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyWhiteListRuleOfWebRuleResponse ModifyWhiteListRuleOfWebRule(ModifyWhiteListRuleOfWebRuleRequest request) {
            return  new ModifyWhiteListRuleOfWebRuleExecutor().Client(this).Execute<ModifyWhiteListRuleOfWebRuleResponse, ModifyWhiteListRuleOfWebRuleResult, ModifyWhiteListRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  修改网站类规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyWhiteListRuleOfWebRuleResponse> ModifyWhiteListRuleOfWebRule(ModifyWhiteListRuleOfWebRuleRequest request) {
            return await new ModifyWhiteListRuleOfWebRuleExecutor().Client(this).Execute<ModifyWhiteListRuleOfWebRuleResponse, ModifyWhiteListRuleOfWebRuleResult, ModifyWhiteListRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询高防实例回源 IP 白名单列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeOriginWhiteIpListResponse DescribeOriginWhiteIpList(DescribeOriginWhiteIpListRequest request) {
            return  new DescribeOriginWhiteIpListExecutor().Client(this).Execute<DescribeOriginWhiteIpListResponse, DescribeOriginWhiteIpListResult, DescribeOriginWhiteIpListRequest>(request);
        }
#else
        /// <summary>
        ///  查询高防实例回源 IP 白名单列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeOriginWhiteIpListResponse> DescribeOriginWhiteIpList(DescribeOriginWhiteIpListRequest request) {
            return await new DescribeOriginWhiteIpListExecutor().Client(this).Execute<DescribeOriginWhiteIpListResponse, DescribeOriginWhiteIpListResult, DescribeOriginWhiteIpListRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  开启网站类规则的黑名单规则, 批量操作时 webBlackListRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public EnableBlackListRuleOfWebRuleResponse EnableBlackListRuleOfWebRule(EnableBlackListRuleOfWebRuleRequest request) {
            return  new EnableBlackListRuleOfWebRuleExecutor().Client(this).Execute<EnableBlackListRuleOfWebRuleResponse, EnableBlackListRuleOfWebRuleResult, EnableBlackListRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  开启网站类规则的黑名单规则, 批量操作时 webBlackListRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<EnableBlackListRuleOfWebRuleResponse> EnableBlackListRuleOfWebRule(EnableBlackListRuleOfWebRuleRequest request) {
            return await new EnableBlackListRuleOfWebRuleExecutor().Client(this).Execute<EnableBlackListRuleOfWebRuleResponse, EnableBlackListRuleOfWebRuleResult, EnableBlackListRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改实例错误状态码返回页面为自定义页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyInstanceCustomPageResponse ModifyInstanceCustomPage(ModifyInstanceCustomPageRequest request) {
            return  new ModifyInstanceCustomPageExecutor().Client(this).Execute<ModifyInstanceCustomPageResponse, ModifyInstanceCustomPageResult, ModifyInstanceCustomPageRequest>(request);
        }
#else
        /// <summary>
        ///  修改实例错误状态码返回页面为自定义页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyInstanceCustomPageResponse> ModifyInstanceCustomPage(ModifyInstanceCustomPageRequest request) {
            return await new ModifyInstanceCustomPageExecutor().Client(this).Execute<ModifyInstanceCustomPageResponse, ModifyInstanceCustomPageResult, ModifyInstanceCustomPageRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  开启实例错误状态码返回页面, 错误状态码返回默认页面或自定义页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public EnableInstanceCustomPageResponse EnableInstanceCustomPage(EnableInstanceCustomPageRequest request) {
            return  new EnableInstanceCustomPageExecutor().Client(this).Execute<EnableInstanceCustomPageResponse, EnableInstanceCustomPageResult, EnableInstanceCustomPageRequest>(request);
        }
#else
        /// <summary>
        ///  开启实例错误状态码返回页面, 错误状态码返回默认页面或自定义页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<EnableInstanceCustomPageResponse> EnableInstanceCustomPage(EnableInstanceCustomPageRequest request) {
            return await new EnableInstanceCustomPageExecutor().Client(this).Execute<EnableInstanceCustomPageResponse, EnableInstanceCustomPageResult, EnableInstanceCustomPageRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询实例的 IP 黑白名单
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeIpSetResponse DescribeIpSet(DescribeIpSetRequest request) {
            return  new DescribeIpSetExecutor().Client(this).Execute<DescribeIpSetResponse, DescribeIpSetResult, DescribeIpSetRequest>(request);
        }
#else
        /// <summary>
        ///  查询实例的 IP 黑白名单
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeIpSetResponse> DescribeIpSet(DescribeIpSetRequest request) {
            return await new DescribeIpSetExecutor().Client(this).Execute<DescribeIpSetResponse, DescribeIpSetResult, DescribeIpSetRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  删除非网站规则, 批量操作时, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DeleteForwardRuleResponse DeleteForwardRule(DeleteForwardRuleRequest request) {
            return  new DeleteForwardRuleExecutor().Client(this).Execute<DeleteForwardRuleResponse, DeleteForwardRuleResult, DeleteForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  删除非网站规则, 批量操作时, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DeleteForwardRuleResponse> DeleteForwardRule(DeleteForwardRuleRequest request) {
            return await new DeleteForwardRuleExecutor().Client(this).Execute<DeleteForwardRuleResponse, DeleteForwardRuleResult, DeleteForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  网站类规则切换成防御状态。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public SwitchWebRuleProtectResponse SwitchWebRuleProtect(SwitchWebRuleProtectRequest request) {
            return  new SwitchWebRuleProtectExecutor().Client(this).Execute<SwitchWebRuleProtectResponse, SwitchWebRuleProtectResult, SwitchWebRuleProtectRequest>(request);
        }
#else
        /// <summary>
        ///  网站类规则切换成防御状态。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<SwitchWebRuleProtectResponse> SwitchWebRuleProtect(SwitchWebRuleProtectRequest request) {
            return await new SwitchWebRuleProtectExecutor().Client(this).Execute<SwitchWebRuleProtectResponse, SwitchWebRuleProtectResult, SwitchWebRuleProtectRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  插入JS指纹到配置的自定义页面, 需要打开网站类规则的JS指纹开关
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyWebRuleJsPageToCustomResponse ModifyWebRuleJsPageToCustom(ModifyWebRuleJsPageToCustomRequest request) {
            return  new ModifyWebRuleJsPageToCustomExecutor().Client(this).Execute<ModifyWebRuleJsPageToCustomResponse, ModifyWebRuleJsPageToCustomResult, ModifyWebRuleJsPageToCustomRequest>(request);
        }
#else
        /// <summary>
        ///  插入JS指纹到配置的自定义页面, 需要打开网站类规则的JS指纹开关
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyWebRuleJsPageToCustomResponse> ModifyWebRuleJsPageToCustom(ModifyWebRuleJsPageToCustomRequest request) {
            return await new ModifyWebRuleJsPageToCustomExecutor().Client(this).Execute<ModifyWebRuleJsPageToCustomResponse, ModifyWebRuleJsPageToCustomResult, ModifyWebRuleJsPageToCustomRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询用户可设置为网站类规则回源 IP 的京东云云物理服务器公网 IP 资源
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeCpsIpListResponse DescribeCpsIpList(DescribeCpsIpListRequest request) {
            return  new DescribeCpsIpListExecutor().Client(this).Execute<DescribeCpsIpListResponse, DescribeCpsIpListResult, DescribeCpsIpListRequest>(request);
        }
#else
        /// <summary>
        ///  查询用户可设置为网站类规则回源 IP 的京东云云物理服务器公网 IP 资源
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeCpsIpListResponse> DescribeCpsIpList(DescribeCpsIpListRequest request) {
            return await new DescribeCpsIpListExecutor().Client(this).Execute<DescribeCpsIpListResponse, DescribeCpsIpListResult, DescribeCpsIpListRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询各类型攻击次数
        /// 参数 serviceIp 优先级大于 instanceId.
        /// - 指定 serviceIp 参数时, 忽略 instanceId 参数, 统计 ip 相关攻击
        /// - 未指定 serviceIp 时, 统计 instanceId 指定实例相关攻击
        /// - serviceIp 和 instanceId 均未指定时, 统计用户所有攻击记录
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeAttackTypeCountResponse DescribeAttackTypeCount(DescribeAttackTypeCountRequest request) {
            return  new DescribeAttackTypeCountExecutor().Client(this).Execute<DescribeAttackTypeCountResponse, DescribeAttackTypeCountResult, DescribeAttackTypeCountRequest>(request);
        }
#else
        /// <summary>
        ///  查询各类型攻击次数
        /// 参数 serviceIp 优先级大于 instanceId.
        /// - 指定 serviceIp 参数时, 忽略 instanceId 参数, 统计 ip 相关攻击
        /// - 未指定 serviceIp 时, 统计 instanceId 指定实例相关攻击
        /// - serviceIp 和 instanceId 均未指定时, 统计用户所有攻击记录
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeAttackTypeCountResponse> DescribeAttackTypeCount(DescribeAttackTypeCountRequest request) {
            return await new DescribeAttackTypeCountExecutor().Client(this).Execute<DescribeAttackTypeCountResponse, DescribeAttackTypeCountResult, DescribeAttackTypeCountRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  非网站类规则切换成回源状态。支持批量操作, 批量操作时 forwardRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public SwitchForwardRuleOriginResponse SwitchForwardRuleOrigin(SwitchForwardRuleOriginRequest request) {
            return  new SwitchForwardRuleOriginExecutor().Client(this).Execute<SwitchForwardRuleOriginResponse, SwitchForwardRuleOriginResult, SwitchForwardRuleOriginRequest>(request);
        }
#else
        /// <summary>
        ///  非网站类规则切换成回源状态。支持批量操作, 批量操作时 forwardRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<SwitchForwardRuleOriginResponse> SwitchForwardRuleOrigin(SwitchForwardRuleOriginRequest request) {
            return await new SwitchForwardRuleOriginExecutor().Client(this).Execute<SwitchForwardRuleOriginResponse, SwitchForwardRuleOriginResult, SwitchForwardRuleOriginRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询转发规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeBlackListRuleOfForwardRuleResponse DescribeBlackListRuleOfForwardRule(DescribeBlackListRuleOfForwardRuleRequest request) {
            return  new DescribeBlackListRuleOfForwardRuleExecutor().Client(this).Execute<DescribeBlackListRuleOfForwardRuleResponse, DescribeBlackListRuleOfForwardRuleResult, DescribeBlackListRuleOfForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询转发规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeBlackListRuleOfForwardRuleResponse> DescribeBlackListRuleOfForwardRule(DescribeBlackListRuleOfForwardRuleRequest request) {
            return await new DescribeBlackListRuleOfForwardRuleExecutor().Client(this).Execute<DescribeBlackListRuleOfForwardRuleResponse, DescribeBlackListRuleOfForwardRuleResult, DescribeBlackListRuleOfForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  添加网站类规则允许插入JS指纹的页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateJsPageOfWebRuleResponse CreateJsPageOfWebRule(CreateJsPageOfWebRuleRequest request) {
            return  new CreateJsPageOfWebRuleExecutor().Client(this).Execute<CreateJsPageOfWebRuleResponse, CreateJsPageOfWebRuleResult, CreateJsPageOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  添加网站类规则允许插入JS指纹的页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateJsPageOfWebRuleResponse> CreateJsPageOfWebRule(CreateJsPageOfWebRuleRequest request) {
            return await new CreateJsPageOfWebRuleExecutor().Client(this).Execute<CreateJsPageOfWebRuleResponse, CreateJsPageOfWebRuleResult, CreateJsPageOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询非网站类转发规则的防护规则 Geo 拦截可设置区域编码
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeGeoAreasResponse DescribeGeoAreas(DescribeGeoAreasRequest request) {
            return  new DescribeGeoAreasExecutor().Client(this).Execute<DescribeGeoAreasResponse, DescribeGeoAreasResult, DescribeGeoAreasRequest>(request);
        }
#else
        /// <summary>
        ///  查询非网站类转发规则的防护规则 Geo 拦截可设置区域编码
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeGeoAreasResponse> DescribeGeoAreas(DescribeGeoAreasRequest request) {
            return await new DescribeGeoAreasExecutor().Client(this).Execute<DescribeGeoAreasResponse, DescribeGeoAreasResult, DescribeGeoAreasRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  网站类规则开启 CC 防护, 开启后网站类规则已配置的防护规则和 CC 防护配置生效, 若没有配置过 CC 防护, 默认的 CC 防护配置生效。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public EnableWebRuleCCResponse EnableWebRuleCC(EnableWebRuleCCRequest request) {
            return  new EnableWebRuleCCExecutor().Client(this).Execute<EnableWebRuleCCResponse, EnableWebRuleCCResult, EnableWebRuleCCRequest>(request);
        }
#else
        /// <summary>
        ///  网站类规则开启 CC 防护, 开启后网站类规则已配置的防护规则和 CC 防护配置生效, 若没有配置过 CC 防护, 默认的 CC 防护配置生效。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<EnableWebRuleCCResponse> EnableWebRuleCC(EnableWebRuleCCRequest request) {
            return await new EnableWebRuleCCExecutor().Client(this).Execute<EnableWebRuleCCResponse, EnableWebRuleCCResult, EnableWebRuleCCRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  转发流量报表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeFwdGraphResponse DescribeFwdGraph(DescribeFwdGraphRequest request) {
            return  new DescribeFwdGraphExecutor().Client(this).Execute<DescribeFwdGraphResponse, DescribeFwdGraphResult, DescribeFwdGraphRequest>(request);
        }
#else
        /// <summary>
        ///  转发流量报表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeFwdGraphResponse> DescribeFwdGraph(DescribeFwdGraphRequest request) {
            return await new DescribeFwdGraphExecutor().Client(this).Execute<DescribeFwdGraphResponse, DescribeFwdGraphResult, DescribeFwdGraphRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询高防实例名称列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeNameListResponse DescribeNameList(DescribeNameListRequest request) {
            return  new DescribeNameListExecutor().Client(this).Execute<DescribeNameListResponse, DescribeNameListResult, DescribeNameListRequest>(request);
        }
#else
        /// <summary>
        ///  查询高防实例名称列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeNameListResponse> DescribeNameList(DescribeNameListRequest request) {
            return await new DescribeNameListExecutor().Client(this).Execute<DescribeNameListResponse, DescribeNameListResult, DescribeNameListRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询某个实例下的非网站转发配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeForwardRulesResponse DescribeForwardRules(DescribeForwardRulesRequest request) {
            return  new DescribeForwardRulesExecutor().Client(this).Execute<DescribeForwardRulesResponse, DescribeForwardRulesResult, DescribeForwardRulesRequest>(request);
        }
#else
        /// <summary>
        ///  查询某个实例下的非网站转发配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeForwardRulesResponse> DescribeForwardRules(DescribeForwardRulesRequest request) {
            return await new DescribeForwardRulesExecutor().Client(this).Execute<DescribeForwardRulesResponse, DescribeForwardRulesResult, DescribeForwardRulesRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  删除实例的 IP 黑白名单. 支持批量操作, 批量操作时 ipSetId 传多个, 以 &#39;,&#39; 分隔. IP 黑白名单规则被引用时不允许删除
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DeleteIpSetResponse DeleteIpSet(DeleteIpSetRequest request) {
            return  new DeleteIpSetExecutor().Client(this).Execute<DeleteIpSetResponse, DeleteIpSetResult, DeleteIpSetRequest>(request);
        }
#else
        /// <summary>
        ///  删除实例的 IP 黑白名单. 支持批量操作, 批量操作时 ipSetId 传多个, 以 &#39;,&#39; 分隔. IP 黑白名单规则被引用时不允许删除
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DeleteIpSetResponse> DeleteIpSet(DeleteIpSetRequest request) {
            return await new DeleteIpSetExecutor().Client(this).Execute<DeleteIpSetResponse, DeleteIpSetResult, DeleteIpSetRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  打开网站类规则的JS指纹开关
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public EnableWebRuleJsPageResponse EnableWebRuleJsPage(EnableWebRuleJsPageRequest request) {
            return  new EnableWebRuleJsPageExecutor().Client(this).Execute<EnableWebRuleJsPageResponse, EnableWebRuleJsPageResult, EnableWebRuleJsPageRequest>(request);
        }
#else
        /// <summary>
        ///  打开网站类规则的JS指纹开关
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<EnableWebRuleJsPageResponse> EnableWebRuleJsPage(EnableWebRuleJsPageRequest request) {
            return await new EnableWebRuleJsPageExecutor().Client(this).Execute<EnableWebRuleJsPageResponse, EnableWebRuleJsPageResult, EnableWebRuleJsPageRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类防护规则的白名单用量信息
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeWebRuleWhiteListUsageResponse DescribeWebRuleWhiteListUsage(DescribeWebRuleWhiteListUsageRequest request) {
            return  new DescribeWebRuleWhiteListUsageExecutor().Client(this).Execute<DescribeWebRuleWhiteListUsageResponse, DescribeWebRuleWhiteListUsageResult, DescribeWebRuleWhiteListUsageRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类防护规则的白名单用量信息
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeWebRuleWhiteListUsageResponse> DescribeWebRuleWhiteListUsage(DescribeWebRuleWhiteListUsageRequest request) {
            return await new DescribeWebRuleWhiteListUsageExecutor().Client(this).Execute<DescribeWebRuleWhiteListUsageResponse, DescribeWebRuleWhiteListUsageResult, DescribeWebRuleWhiteListUsageRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  编辑网站规则证书信息
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyCertInfoResponse ModifyCertInfo(ModifyCertInfoRequest request) {
            return  new ModifyCertInfoExecutor().Client(this).Execute<ModifyCertInfoResponse, ModifyCertInfoResult, ModifyCertInfoRequest>(request);
        }
#else
        /// <summary>
        ///  编辑网站规则证书信息
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyCertInfoResponse> ModifyCertInfo(ModifyCertInfoRequest request) {
            return await new ModifyCertInfoExecutor().Client(this).Execute<ModifyCertInfoResponse, ModifyCertInfoResult, ModifyCertInfoRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  更新告警配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyAlarmConfigResponse ModifyAlarmConfig(ModifyAlarmConfigRequest request) {
            return  new ModifyAlarmConfigExecutor().Client(this).Execute<ModifyAlarmConfigResponse, ModifyAlarmConfigResult, ModifyAlarmConfigRequest>(request);
        }
#else
        /// <summary>
        ///  更新告警配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyAlarmConfigResponse> ModifyAlarmConfig(ModifyAlarmConfigRequest request) {
            return await new ModifyAlarmConfigExecutor().Client(this).Execute<ModifyAlarmConfigResponse, ModifyAlarmConfigResult, ModifyAlarmConfigRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  删除网站类规则的黑名单规则, 批量操作时 webBlackListRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DeleteBlackListRuleOfWebRuleResponse DeleteBlackListRuleOfWebRule(DeleteBlackListRuleOfWebRuleRequest request) {
            return  new DeleteBlackListRuleOfWebRuleExecutor().Client(this).Execute<DeleteBlackListRuleOfWebRuleResponse, DeleteBlackListRuleOfWebRuleResult, DeleteBlackListRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  删除网站类规则的黑名单规则, 批量操作时 webBlackListRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DeleteBlackListRuleOfWebRuleResponse> DeleteBlackListRuleOfWebRule(DeleteBlackListRuleOfWebRuleRequest request) {
            return await new DeleteBlackListRuleOfWebRuleExecutor().Client(this).Execute<DeleteBlackListRuleOfWebRuleResponse, DeleteBlackListRuleOfWebRuleResult, DeleteBlackListRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  关闭网站类规则的黑名单规则, 批量操作时 webBlackListRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DisableBlackListRuleOfWebRuleResponse DisableBlackListRuleOfWebRule(DisableBlackListRuleOfWebRuleRequest request) {
            return  new DisableBlackListRuleOfWebRuleExecutor().Client(this).Execute<DisableBlackListRuleOfWebRuleResponse, DisableBlackListRuleOfWebRuleResult, DisableBlackListRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  关闭网站类规则的黑名单规则, 批量操作时 webBlackListRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DisableBlackListRuleOfWebRuleResponse> DisableBlackListRuleOfWebRule(DisableBlackListRuleOfWebRuleRequest request) {
            return await new DisableBlackListRuleOfWebRuleExecutor().Client(this).Execute<DisableBlackListRuleOfWebRuleResponse, DisableBlackListRuleOfWebRuleResult, DisableBlackListRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  网站类规则切换成回源状态。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public SwitchWebRuleOriginResponse SwitchWebRuleOrigin(SwitchWebRuleOriginRequest request) {
            return  new SwitchWebRuleOriginExecutor().Client(this).Execute<SwitchWebRuleOriginResponse, SwitchWebRuleOriginResult, SwitchWebRuleOriginRequest>(request);
        }
#else
        /// <summary>
        ///  网站类规则切换成回源状态。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<SwitchWebRuleOriginResponse> SwitchWebRuleOrigin(SwitchWebRuleOriginRequest request) {
            return await new SwitchWebRuleOriginExecutor().Client(this).Execute<SwitchWebRuleOriginResponse, SwitchWebRuleOriginResult, SwitchWebRuleOriginRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  开启网站类规则的自定义 CC 防护规则总开关, 状态为开启的自定义 CC 防护规则生效
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public EnableWebRuleCCProtectionRuleResponse EnableWebRuleCCProtectionRule(EnableWebRuleCCProtectionRuleRequest request) {
            return  new EnableWebRuleCCProtectionRuleExecutor().Client(this).Execute<EnableWebRuleCCProtectionRuleResponse, EnableWebRuleCCProtectionRuleResult, EnableWebRuleCCProtectionRuleRequest>(request);
        }
#else
        /// <summary>
        ///  开启网站类规则的自定义 CC 防护规则总开关, 状态为开启的自定义 CC 防护规则生效
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<EnableWebRuleCCProtectionRuleResponse> EnableWebRuleCCProtectionRule(EnableWebRuleCCProtectionRuleRequest request) {
            return await new EnableWebRuleCCProtectionRuleExecutor().Client(this).Execute<EnableWebRuleCCProtectionRuleResponse, EnableWebRuleCCProtectionRuleResult, EnableWebRuleCCProtectionRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  防护调度规则切换成回源状态
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public SwitchDispatchRuleOriginResponse SwitchDispatchRuleOrigin(SwitchDispatchRuleOriginRequest request) {
            return  new SwitchDispatchRuleOriginExecutor().Client(this).Execute<SwitchDispatchRuleOriginResponse, SwitchDispatchRuleOriginResult, SwitchDispatchRuleOriginRequest>(request);
        }
#else
        /// <summary>
        ///  防护调度规则切换成回源状态
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<SwitchDispatchRuleOriginResponse> SwitchDispatchRuleOrigin(SwitchDispatchRuleOriginRequest request) {
            return await new SwitchDispatchRuleOriginExecutor().Client(this).Execute<SwitchDispatchRuleOriginResponse, SwitchDispatchRuleOriginResult, SwitchDispatchRuleOriginRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类规则的黑名单规则列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeBlackListRulesOfWebRuleResponse DescribeBlackListRulesOfWebRule(DescribeBlackListRulesOfWebRuleRequest request) {
            return  new DescribeBlackListRulesOfWebRuleExecutor().Client(this).Execute<DescribeBlackListRulesOfWebRuleResponse, DescribeBlackListRulesOfWebRuleResult, DescribeBlackListRulesOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类规则的黑名单规则列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeBlackListRulesOfWebRuleResponse> DescribeBlackListRulesOfWebRule(DescribeBlackListRulesOfWebRuleRequest request) {
            return await new DescribeBlackListRulesOfWebRuleExecutor().Client(this).Execute<DescribeBlackListRulesOfWebRuleResponse, DescribeBlackListRulesOfWebRuleResult, DescribeBlackListRulesOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询某个实例下的防护调度规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeDispatchRulesResponse DescribeDispatchRules(DescribeDispatchRulesRequest request) {
            return  new DescribeDispatchRulesExecutor().Client(this).Execute<DescribeDispatchRulesResponse, DescribeDispatchRulesResult, DescribeDispatchRulesRequest>(request);
        }
#else
        /// <summary>
        ///  查询某个实例下的防护调度规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeDispatchRulesResponse> DescribeDispatchRules(DescribeDispatchRulesRequest request) {
            return await new DescribeDispatchRulesExecutor().Client(this).Execute<DescribeDispatchRulesResponse, DescribeDispatchRulesResult, DescribeDispatchRulesRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  新建与并发连接数统计报表        
        /// 参数 serviceIp 优先级大于 instanceId.
        /// - 指定 serviceIp 参数时, 忽略 instanceId 参数, 查询 ip 相关报表
        /// - 未指定 serviceIp 时, 查询 instanceId 指定实例相关报表
        /// - serviceIp 和 instanceId 均未指定时, 查询用户所有实例报表
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeConnStatGraphResponse DescribeConnStatGraph(DescribeConnStatGraphRequest request) {
            return  new DescribeConnStatGraphExecutor().Client(this).Execute<DescribeConnStatGraphResponse, DescribeConnStatGraphResult, DescribeConnStatGraphRequest>(request);
        }
#else
        /// <summary>
        ///  新建与并发连接数统计报表        
        /// 参数 serviceIp 优先级大于 instanceId.
        /// - 指定 serviceIp 参数时, 忽略 instanceId 参数, 查询 ip 相关报表
        /// - 未指定 serviceIp 时, 查询 instanceId 指定实例相关报表
        /// - serviceIp 和 instanceId 均未指定时, 查询用户所有实例报表
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeConnStatGraphResponse> DescribeConnStatGraph(DescribeConnStatGraphRequest request) {
            return await new DescribeConnStatGraphExecutor().Client(this).Execute<DescribeConnStatGraphResponse, DescribeConnStatGraphResult, DescribeConnStatGraphRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改自定义页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyCustomPageResponse ModifyCustomPage(ModifyCustomPageRequest request) {
            return  new ModifyCustomPageExecutor().Client(this).Execute<ModifyCustomPageResponse, ModifyCustomPageResult, ModifyCustomPageRequest>(request);
        }
#else
        /// <summary>
        ///  修改自定义页面
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyCustomPageResponse> ModifyCustomPage(ModifyCustomPageRequest request) {
            return await new ModifyCustomPageExecutor().Client(this).Execute<ModifyCustomPageResponse, ModifyCustomPageResult, ModifyCustomPageRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  批量添加网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateWebRulesResponse CreateWebRules(CreateWebRulesRequest request) {
            return  new CreateWebRulesExecutor().Client(this).Execute<CreateWebRulesResponse, CreateWebRulesResult, CreateWebRulesRequest>(request);
        }
#else
        /// <summary>
        ///  批量添加网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateWebRulesResponse> CreateWebRules(CreateWebRulesRequest request) {
            return await new CreateWebRulesExecutor().Client(this).Execute<CreateWebRulesResponse, CreateWebRulesResult, CreateWebRulesRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改转发规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyWhiteListRuleOfForwardRuleResponse ModifyWhiteListRuleOfForwardRule(ModifyWhiteListRuleOfForwardRuleRequest request) {
            return  new ModifyWhiteListRuleOfForwardRuleExecutor().Client(this).Execute<ModifyWhiteListRuleOfForwardRuleResponse, ModifyWhiteListRuleOfForwardRuleResult, ModifyWhiteListRuleOfForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  修改转发规则的白名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyWhiteListRuleOfForwardRuleResponse> ModifyWhiteListRuleOfForwardRule(ModifyWhiteListRuleOfForwardRuleRequest request) {
            return await new ModifyWhiteListRuleOfForwardRuleExecutor().Client(this).Execute<ModifyWhiteListRuleOfForwardRuleResponse, ModifyWhiteListRuleOfForwardRuleResult, ModifyWhiteListRuleOfForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改网站类规则的 CC 防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyCCProtectionRuleOfWebRuleResponse ModifyCCProtectionRuleOfWebRule(ModifyCCProtectionRuleOfWebRuleRequest request) {
            return  new ModifyCCProtectionRuleOfWebRuleExecutor().Client(this).Execute<ModifyCCProtectionRuleOfWebRuleResponse, ModifyCCProtectionRuleOfWebRuleResult, ModifyCCProtectionRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  修改网站类规则的 CC 防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyCCProtectionRuleOfWebRuleResponse> ModifyCCProtectionRuleOfWebRule(ModifyCCProtectionRuleOfWebRuleRequest request) {
            return await new ModifyCCProtectionRuleOfWebRuleExecutor().Client(this).Execute<ModifyCCProtectionRuleOfWebRuleResponse, ModifyCCProtectionRuleOfWebRuleResult, ModifyCCProtectionRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类规则的 CC 防护规则列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeCCProtectionRulesOfWebRuleResponse DescribeCCProtectionRulesOfWebRule(DescribeCCProtectionRulesOfWebRuleRequest request) {
            return  new DescribeCCProtectionRulesOfWebRuleExecutor().Client(this).Execute<DescribeCCProtectionRulesOfWebRuleResponse, DescribeCCProtectionRulesOfWebRuleResult, DescribeCCProtectionRulesOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类规则的 CC 防护规则列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeCCProtectionRulesOfWebRuleResponse> DescribeCCProtectionRulesOfWebRule(DescribeCCProtectionRulesOfWebRuleRequest request) {
            return await new DescribeCCProtectionRulesOfWebRuleExecutor().Client(this).Execute<DescribeCCProtectionRulesOfWebRuleResponse, DescribeCCProtectionRulesOfWebRuleResult, DescribeCCProtectionRulesOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  添加网站类规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateBlackListRuleOfWebRuleResponse CreateBlackListRuleOfWebRule(CreateBlackListRuleOfWebRuleRequest request) {
            return  new CreateBlackListRuleOfWebRuleExecutor().Client(this).Execute<CreateBlackListRuleOfWebRuleResponse, CreateBlackListRuleOfWebRuleResult, CreateBlackListRuleOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  添加网站类规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateBlackListRuleOfWebRuleResponse> CreateBlackListRuleOfWebRule(CreateBlackListRuleOfWebRuleRequest request) {
            return await new CreateBlackListRuleOfWebRuleExecutor().Client(this).Execute<CreateBlackListRuleOfWebRuleResponse, CreateBlackListRuleOfWebRuleResult, CreateBlackListRuleOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  DDos 防护流量报表
        /// 参数 serviceIp 优先级大于 instanceId.
        /// - 指定 serviceIp 参数时, 忽略 instanceId 参数, 查询 ip 相关报表
        /// - 未指定 serviceIp 时, 查询 instanceId 指定实例相关报表
        /// - serviceIp 和 instanceId 均未指定时, 查询用户所有实例报表
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeDDoSGraphResponse DescribeDDoSGraph(DescribeDDoSGraphRequest request) {
            return  new DescribeDDoSGraphExecutor().Client(this).Execute<DescribeDDoSGraphResponse, DescribeDDoSGraphResult, DescribeDDoSGraphRequest>(request);
        }
#else
        /// <summary>
        ///  DDos 防护流量报表
        /// 参数 serviceIp 优先级大于 instanceId.
        /// - 指定 serviceIp 参数时, 忽略 instanceId 参数, 查询 ip 相关报表
        /// - 未指定 serviceIp 时, 查询 instanceId 指定实例相关报表
        /// - serviceIp 和 instanceId 均未指定时, 查询用户所有实例报表
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeDDoSGraphResponse> DescribeDDoSGraph(DescribeDDoSGraphRequest request) {
            return await new DescribeDDoSGraphExecutor().Client(this).Execute<DescribeDDoSGraphResponse, DescribeDDoSGraphResult, DescribeDDoSGraphRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  添加防护调度规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateDispatchRuleResponse CreateDispatchRule(CreateDispatchRuleRequest request) {
            return  new CreateDispatchRuleExecutor().Client(this).Execute<CreateDispatchRuleResponse, CreateDispatchRuleResult, CreateDispatchRuleRequest>(request);
        }
#else
        /// <summary>
        ///  添加防护调度规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateDispatchRuleResponse> CreateDispatchRule(CreateDispatchRuleRequest request) {
            return await new CreateDispatchRuleExecutor().Client(this).Execute<CreateDispatchRuleResponse, CreateDispatchRuleResult, CreateDispatchRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  关闭转发规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DisableBlackListRuleOfForwardRuleResponse DisableBlackListRuleOfForwardRule(DisableBlackListRuleOfForwardRuleRequest request) {
            return  new DisableBlackListRuleOfForwardRuleExecutor().Client(this).Execute<DisableBlackListRuleOfForwardRuleResponse, DisableBlackListRuleOfForwardRuleResult, DisableBlackListRuleOfForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  关闭转发规则的黑名单规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DisableBlackListRuleOfForwardRuleResponse> DisableBlackListRuleOfForwardRule(DisableBlackListRuleOfForwardRuleRequest request) {
            return await new DisableBlackListRuleOfForwardRuleExecutor().Client(this).Execute<DisableBlackListRuleOfForwardRuleResponse, DisableBlackListRuleOfForwardRuleResult, DisableBlackListRuleOfForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  根据高防计费资源ID查询对应的实例Id, 调用 &lt;a href&#x3D;&#39;http://docs.jdcloud.com/anti-ddos-pro/api/createInstance&#39;&gt;createInstance&lt;/a&gt; 接口成功后，跟据message字段返回的计费资源Id查询对应的高防实例ID, 需要高防实例实际创建成功以后才可查询得到
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeInstanceIdByResourceIdResponse DescribeInstanceIdByResourceId(DescribeInstanceIdByResourceIdRequest request) {
            return  new DescribeInstanceIdByResourceIdExecutor().Client(this).Execute<DescribeInstanceIdByResourceIdResponse, DescribeInstanceIdByResourceIdResult, DescribeInstanceIdByResourceIdRequest>(request);
        }
#else
        /// <summary>
        ///  根据高防计费资源ID查询对应的实例Id, 调用 &lt;a href&#x3D;&#39;http://docs.jdcloud.com/anti-ddos-pro/api/createInstance&#39;&gt;createInstance&lt;/a&gt; 接口成功后，跟据message字段返回的计费资源Id查询对应的高防实例ID, 需要高防实例实际创建成功以后才可查询得到
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeInstanceIdByResourceIdResponse> DescribeInstanceIdByResourceId(DescribeInstanceIdByResourceIdRequest request) {
            return await new DescribeInstanceIdByResourceIdExecutor().Client(this).Execute<DescribeInstanceIdByResourceIdResponse, DescribeInstanceIdByResourceIdResult, DescribeInstanceIdByResourceIdRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改网站类规则的 CC 防护配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyCCProtectionConfigOfWebRuleResponse ModifyCCProtectionConfigOfWebRule(ModifyCCProtectionConfigOfWebRuleRequest request) {
            return  new ModifyCCProtectionConfigOfWebRuleExecutor().Client(this).Execute<ModifyCCProtectionConfigOfWebRuleResponse, ModifyCCProtectionConfigOfWebRuleResult, ModifyCCProtectionConfigOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  修改网站类规则的 CC 防护配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyCCProtectionConfigOfWebRuleResponse> ModifyCCProtectionConfigOfWebRule(ModifyCCProtectionConfigOfWebRuleRequest request) {
            return await new ModifyCCProtectionConfigOfWebRuleExecutor().Client(this).Execute<ModifyCCProtectionConfigOfWebRuleResponse, ModifyCCProtectionConfigOfWebRuleResult, ModifyCCProtectionConfigOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类转发规则按地域回源配置 geoRsRoute 可设置的区域
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeWebRuleRSGeoAreasResponse DescribeWebRuleRSGeoAreas(DescribeWebRuleRSGeoAreasRequest request) {
            return  new DescribeWebRuleRSGeoAreasExecutor().Client(this).Execute<DescribeWebRuleRSGeoAreasResponse, DescribeWebRuleRSGeoAreasResult, DescribeWebRuleRSGeoAreasRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类转发规则按地域回源配置 geoRsRoute 可设置的区域
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeWebRuleRSGeoAreasResponse> DescribeWebRuleRSGeoAreas(DescribeWebRuleRSGeoAreasRequest request) {
            return await new DescribeWebRuleRSGeoAreasExecutor().Client(this).Execute<DescribeWebRuleRSGeoAreasResponse, DescribeWebRuleRSGeoAreasResult, DescribeWebRuleRSGeoAreasRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询实例全局访问控制配置，包括全局的IP黑白名单和geo拦截配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeInstanceAclResponse DescribeInstanceAcl(DescribeInstanceAclRequest request) {
            return  new DescribeInstanceAclExecutor().Client(this).Execute<DescribeInstanceAclResponse, DescribeInstanceAclResult, DescribeInstanceAclRequest>(request);
        }
#else
        /// <summary>
        ///  查询实例全局访问控制配置，包括全局的IP黑白名单和geo拦截配置
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeInstanceAclResponse> DescribeInstanceAcl(DescribeInstanceAclRequest request) {
            return await new DescribeInstanceAclExecutor().Client(this).Execute<DescribeInstanceAclResponse, DescribeInstanceAclResult, DescribeInstanceAclRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询网站类规则的白名单规则列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeWhiteListRulesOfWebRuleResponse DescribeWhiteListRulesOfWebRule(DescribeWhiteListRulesOfWebRuleRequest request) {
            return  new DescribeWhiteListRulesOfWebRuleExecutor().Client(this).Execute<DescribeWhiteListRulesOfWebRuleResponse, DescribeWhiteListRulesOfWebRuleResult, DescribeWhiteListRulesOfWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  查询网站类规则的白名单规则列表
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeWhiteListRulesOfWebRuleResponse> DescribeWhiteListRulesOfWebRule(DescribeWhiteListRulesOfWebRuleRequest request) {
            return await new DescribeWhiteListRulesOfWebRuleExecutor().Client(this).Execute<DescribeWhiteListRulesOfWebRuleResponse, DescribeWhiteListRulesOfWebRuleResult, DescribeWhiteListRulesOfWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  添加非网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateForwardRuleResponse CreateForwardRule(CreateForwardRuleRequest request) {
            return  new CreateForwardRuleExecutor().Client(this).Execute<CreateForwardRuleResponse, CreateForwardRuleResult, CreateForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  添加非网站类规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateForwardRuleResponse> CreateForwardRule(CreateForwardRuleRequest request) {
            return await new CreateForwardRuleExecutor().Client(this).Execute<CreateForwardRuleResponse, CreateForwardRuleResult, CreateForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  查询用户可设置为网站类规则回源 IP 的京东云云内弹性公网 IP 资源
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeVpcIpListResponse DescribeVpcIpList(DescribeVpcIpListRequest request) {
            return  new DescribeVpcIpListExecutor().Client(this).Execute<DescribeVpcIpListResponse, DescribeVpcIpListResult, DescribeVpcIpListRequest>(request);
        }
#else
        /// <summary>
        ///  查询用户可设置为网站类规则回源 IP 的京东云云内弹性公网 IP 资源
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeVpcIpListResponse> DescribeVpcIpList(DescribeVpcIpListRequest request) {
            return await new DescribeVpcIpListExecutor().Client(this).Execute<DescribeVpcIpListResponse, DescribeVpcIpListResult, DescribeVpcIpListRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  修改非网站类转发规则的防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public ModifyProtectionRuleOfForwardRuleResponse ModifyProtectionRuleOfForwardRule(ModifyProtectionRuleOfForwardRuleRequest request) {
            return  new ModifyProtectionRuleOfForwardRuleExecutor().Client(this).Execute<ModifyProtectionRuleOfForwardRuleResponse, ModifyProtectionRuleOfForwardRuleResult, ModifyProtectionRuleOfForwardRuleRequest>(request);
        }
#else
        /// <summary>
        ///  修改非网站类转发规则的防护规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<ModifyProtectionRuleOfForwardRuleResponse> ModifyProtectionRuleOfForwardRule(ModifyProtectionRuleOfForwardRuleRequest request) {
            return await new ModifyProtectionRuleOfForwardRuleExecutor().Client(this).Execute<ModifyProtectionRuleOfForwardRuleResponse, ModifyProtectionRuleOfForwardRuleResult, ModifyProtectionRuleOfForwardRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  删除网站规则。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DeleteWebRuleResponse DeleteWebRule(DeleteWebRuleRequest request) {
            return  new DeleteWebRuleExecutor().Client(this).Execute<DeleteWebRuleResponse, DeleteWebRuleResult, DeleteWebRuleRequest>(request);
        }
#else
        /// <summary>
        ///  删除网站规则。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DeleteWebRuleResponse> DeleteWebRule(DeleteWebRuleRequest request) {
            return await new DeleteWebRuleExecutor().Client(this).Execute<DeleteWebRuleResponse, DeleteWebRuleResult, DeleteWebRuleRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  批量添加防护调度规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public CreateDispatchRulesResponse CreateDispatchRules(CreateDispatchRulesRequest request) {
            return  new CreateDispatchRulesExecutor().Client(this).Execute<CreateDispatchRulesResponse, CreateDispatchRulesResult, CreateDispatchRulesRequest>(request);
        }
#else
        /// <summary>
        ///  批量添加防护调度规则
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<CreateDispatchRulesResponse> CreateDispatchRules(CreateDispatchRulesRequest request) {
            return await new CreateDispatchRulesExecutor().Client(this).Execute<CreateDispatchRulesResponse, CreateDispatchRulesResult, CreateDispatchRulesRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  业务流量报表        
        /// 参数 serviceIp 优先级大于 instanceId.
        /// - 指定 serviceIp 参数时, 忽略 instanceId 参数, 查询 ip 相关报表
        /// - 未指定 serviceIp 时, 查询 instanceId 指定实例相关报表
        /// - serviceIp 和 instanceId 均未指定时, 查询用户所有实例报表
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public DescribeBusinessGraphResponse DescribeBusinessGraph(DescribeBusinessGraphRequest request) {
            return  new DescribeBusinessGraphExecutor().Client(this).Execute<DescribeBusinessGraphResponse, DescribeBusinessGraphResult, DescribeBusinessGraphRequest>(request);
        }
#else
        /// <summary>
        ///  业务流量报表        
        /// 参数 serviceIp 优先级大于 instanceId.
        /// - 指定 serviceIp 参数时, 忽略 instanceId 参数, 查询 ip 相关报表
        /// - 未指定 serviceIp 时, 查询 instanceId 指定实例相关报表
        /// - serviceIp 和 instanceId 均未指定时, 查询用户所有实例报表
        /// 
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<DescribeBusinessGraphResponse> DescribeBusinessGraph(DescribeBusinessGraphRequest request) {
            return await new DescribeBusinessGraphExecutor().Client(this).Execute<DescribeBusinessGraphResponse, DescribeBusinessGraphResult, DescribeBusinessGraphRequest>(request).ConfigureAwait(false);
        }
#endif
#if NET40||NET35
        /// <summary>
        ///  开启网站类规则 CC 观察者模式, 观察模式下, CC 防护只告警不防御。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public EnableWebRuleCCObserverModeResponse EnableWebRuleCCObserverMode(EnableWebRuleCCObserverModeRequest request) {
            return  new EnableWebRuleCCObserverModeExecutor().Client(this).Execute<EnableWebRuleCCObserverModeResponse, EnableWebRuleCCObserverModeResult, EnableWebRuleCCObserverModeRequest>(request);
        }
#else
        /// <summary>
        ///  开启网站类规则 CC 观察者模式, 观察模式下, CC 防护只告警不防御。支持批量操作, 批量操作时 webRuleId 传多个, 以 &#39;,&#39; 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败
        /// </summary>
        /// <param name="request">请求参数信息</param>
        /// <returns>请求结果信息</returns>
        public async Task<EnableWebRuleCCObserverModeResponse> EnableWebRuleCCObserverMode(EnableWebRuleCCObserverModeRequest request) {
            return await new EnableWebRuleCCObserverModeExecutor().Client(this).Execute<EnableWebRuleCCObserverModeResponse, EnableWebRuleCCObserverModeResult, EnableWebRuleCCObserverModeRequest>(request).ConfigureAwait(false);
        }
#endif

            /// <summary>
            ///  默认IpantiClient 构造器 接口
            ///</summary>
            public interface Builder
            {

                /// <summary>
                /// 设置认证信息参数
                /// </summary>
                /// <param name="provider">认证信息提供对象</param>
                /// <returns>ipantiClient 构造器</returns>
                Builder CredentialsProvider(CredentialsProvider provider);

                /// <summary>
                /// 设置请求环境参数
                /// </summary>
                /// <param name="environment">环境参数信息</param>
                /// <returns>ipantiClient 构造器</returns>
                Builder Environment(Core.Client.SDKEnvironment environment);

                /// <summary>
                /// http 请求配置信息
                /// </summary>
                /// <param name="config">http 请求配置信息</param>
                /// <returns>ipantiClient 构造器</returns>
                Builder HttpRequestConfig(HttpRequestConfig config);

                /// <summary>
                ///  构造IpantiClient 对象
                ///</summary>
                IpantiClient Build();
            }

            /// <summary>
            ///  默认IpantiClient 构造器
            ///</summary>
            public class DefaultBuilder : Builder
            {
                /// <summary>
                ///  IpantiClient service client
                /// </summary>
                private  IpantiClient ipantiClient;

                /// <summary>
                ///  默认IpantiClient 构造器构造对象
                ///</summary>
                public DefaultBuilder()
                {
                    ipantiClient = new IpantiClient();
                }

                /// <summary>
                ///  构造IpantiClient 对象
                ///</summary>
                public IpantiClient Build()
                {
                    if (ipantiClient.CredentialsProvider == null)
                    {
                        //if credentialsProvider not set, try load jdcloud global default  credentials provider
                        ipantiClient.credentialsProvider = JdCloud.DefaultInstance.GetCredentialsProvider();
                        if (ipantiClient.credentialsProvider == null)
                        {
                            throw new ArgumentNullException("IpantiClient build error: jdcloud credentials provider not set");
                        }
                    }
                    if (ipantiClient.HttpRequestConfig == null)
                    {
                        ipantiClient.httpRequestConfig = JdCloud.DefaultInstance.GetHttpRequestConfig();
                        if (ipantiClient.httpRequestConfig == null)
                        {
                        throw new ArgumentNullException("IpantiClient build error: http request config not set");
                        }
                    }
                    return ipantiClient;
                }

                /// <summary>
                /// 设置认证信息参数
                /// </summary>
                /// <param name="provider">认证信息提供对象</param>
                /// <returns>ipantiClient 构造器</returns>
                public Builder CredentialsProvider(CredentialsProvider provider)
                {
                    ipantiClient.credentialsProvider = provider;
                    return this;
                }

                /// <summary>
                /// 设置请求环境参数
                /// </summary>
                /// <param name="environment">环境参数信息</param>
                /// <returns>ipantiClient 构造器</returns>
                public Builder Environment(SDKEnvironment environment)
                {
                    ipantiClient.environment = environment;
                    return this;
                }

                /// <summary>
                /// http 请求配置信息
                /// </summary>
                /// <param name="config">http 请求配置信息</param>
                /// <returns>ipantiClient 构造器</returns>
                public Builder HttpRequestConfig(HttpRequestConfig config)
                {
                    ipantiClient.httpRequestConfig = config;
                    return this;
                }
            }
    }
}
